0002-Catch-recursion-in-message-logger.patch
src/client/client.cpp | ||
---|---|---|
50 | 50 | |
51 | 51 |
/*** Initialization/destruction ***/ |
52 | 52 | |
53 |
bool Client::instanceExists() |
|
54 |
{ |
|
55 |
return instanceptr; |
|
56 |
} |
|
57 | ||
53 | 58 |
Client *Client::instance() { |
54 | 59 |
if(!instanceptr) |
55 | 60 |
instanceptr = new Client(); |
... | ... | |
467 | 472 |
Quassel::logFatalMessage(msg); |
468 | 473 |
} else { |
469 | 474 |
QString msgString = QString("%1\n").arg(msg); |
475 | ||
476 |
//Check to see if there is an instance around, else we risk recursions |
|
477 |
//when calling instance() and creating new ones. |
|
478 |
if (!instanceExists()) |
|
479 |
return; |
|
480 | ||
470 | 481 |
instance()->_debugLog << msgString; |
471 | 482 |
emit instance()->logUpdated(msgString); |
472 | 483 |
} |
src/client/client.h | ||
---|---|---|
61 | 61 |
RemoteCore |
62 | 62 |
}; |
63 | 63 | |
64 |
static bool instanceExists(); |
|
64 | 65 |
static Client *instance(); |
65 | 66 |
static void destroy(); |
66 | 67 |
static void init(AbstractUi *); |
67 |
- |