mirror of
https://github.com/The-Powder-Toy/The-Powder-Toy.git
synced 2025-04-22 15:41:57 +02:00
better fix for thumbnails getting mixed up (static int instead of rand), fixes #96
This commit is contained in:
parent
65a31bb1d1
commit
1a50217acd
@ -14,6 +14,8 @@
|
||||
|
||||
//Asynchronous Thumbnail render & request processing
|
||||
|
||||
unsigned int RequestListener::nextListenerID = 0;
|
||||
|
||||
RequestBroker::RequestBroker()
|
||||
{
|
||||
thumbnailQueueRunning = false;
|
||||
@ -265,7 +267,7 @@ bool RequestBroker::CheckRequestListener(ListenerHandle handle)
|
||||
|
||||
ListenerHandle RequestBroker::AttachRequestListener(RequestListener * tListener)
|
||||
{
|
||||
ListenerHandle handle = ListenerHandle(tListener->ListenerRand, tListener);
|
||||
ListenerHandle handle = ListenerHandle(tListener->ListenerID, tListener);
|
||||
pthread_mutex_lock(&listenersMutex);
|
||||
validListeners.push_back(handle);
|
||||
pthread_mutex_unlock(&listenersMutex);
|
||||
@ -282,7 +284,7 @@ void RequestBroker::DetachRequestListener(RequestListener * tListener)
|
||||
std::vector<ListenerHandle>::iterator iter = validListeners.begin();
|
||||
while (iter != validListeners.end())
|
||||
{
|
||||
if(*iter == ListenerHandle(tListener->ListenerRand, tListener))
|
||||
if(*iter == ListenerHandle(tListener->ListenerID, tListener))
|
||||
iter = validListeners.erase(iter);
|
||||
else
|
||||
++iter;
|
||||
|
@ -3,8 +3,9 @@
|
||||
class RequestListener
|
||||
{
|
||||
public:
|
||||
int ListenerRand;
|
||||
RequestListener() { ListenerRand = rand(); }
|
||||
static unsigned int nextListenerID;
|
||||
int ListenerID;
|
||||
RequestListener() { ListenerID = nextListenerID++; }
|
||||
virtual ~RequestListener() {}
|
||||
|
||||
virtual void OnResponseReady(void * response, int identifier) {}
|
||||
|
Loading…
x
Reference in New Issue
Block a user