lastfm: put code that takes info from a thread to separate function

master
Andrzej Rybczak 16 years ago
parent 3afa0028e6
commit a7b9088b87
  1. 23
      src/lastfm.cpp
  2. 1
      src/lastfm.h

@ -64,13 +64,17 @@ std::basic_string<my_char_t> Lastfm::Title()
void Lastfm::Update()
{
if (isReadyToTake)
{
pthread_join(itsDownloader, 0);
w->Flush();
w->Refresh();
isDownloadInProgress = 0;
isReadyToTake = 0;
}
Take();
}
void Lastfm::Take()
{
assert(isReadyToTake);
pthread_join(itsDownloader, 0);
w->Flush();
w->Refresh();
isDownloadInProgress = 0;
isReadyToTake = 0;
}
void Lastfm::SwitchTo()
@ -84,8 +88,9 @@ void Lastfm::SwitchTo()
if (hasToBeResized)
Resize();
// if something is ready to take, take it
Update();
// get an old info if it waits
if (isReadyToTake)
Take();
Load();

@ -76,6 +76,7 @@ class Lastfm : public Screen<Scrollpad>
void Download();
static void *DownloadWrapper(void *);
void Take();
bool isReadyToTake;
bool isDownloadInProgress;
pthread_t itsDownloader;

Loading…
Cancel
Save