From b03909fd4ccfb618957e16cce93e7634dbe46386 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Thu, 17 Jan 2013 14:54:41 -0600 Subject: [PATCH 1/2] Fix krandr crash under certain circumstances --- krandr/randr.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/krandr/randr.cpp b/krandr/randr.cpp index 0300801ca..f1b1aae21 100644 --- a/krandr/randr.cpp +++ b/krandr/randr.cpp @@ -829,7 +829,13 @@ KDE_EXPORT void RandRDisplay::applyProposed(bool confirm) KDE_EXPORT bool RandRDisplay::showTestConfigurationDialog() { - return screen(0)->showTestConfigurationDialog(); + RandRScreen* firstScreen = screen(0); + if (firstScreen) { + return firstScreen->showTestConfigurationDialog(); + } + else { + return false; + } } KDE_EXPORT bool RandRScreen::showTestConfigurationDialog() From 9af7bd1f0b11b37110f72e2fba0d75910d991270 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Thu, 17 Jan 2013 17:35:32 -0600 Subject: [PATCH 2/2] Report failure to save or delete network connections --- .../network-manager/network-manager.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tdecore/networkbackends/network-manager/network-manager.cpp b/tdecore/networkbackends/network-manager/network-manager.cpp index e0b11481c..8dc501590 100644 --- a/tdecore/networkbackends/network-manager/network-manager.cpp +++ b/tdecore/networkbackends/network-manager/network-manager.cpp @@ -3131,6 +3131,8 @@ bool TDENetworkConnectionManager_BackendNM::loadConnectionSecretsForGroup(TQStri } bool TDENetworkConnectionManager_BackendNM::saveConnection(TDENetworkConnection* connection) { + bool timed_out = FALSE; + if (!connection) { PRINT_ERROR(TQString("connection cannot be NULL!")); return FALSE; @@ -3199,6 +3201,7 @@ bool TDENetworkConnectionManager_BackendNM::saveConnection(TDENetworkConnection* tqApp->processEvents(); if (!nmCallTimeoutTimer.isActive()) { PRINT_ERROR(TQString("DBUS asynchronous call timed out!")) + timed_out = true; break; } } @@ -4409,11 +4412,12 @@ bool TDENetworkConnectionManager_BackendNM::saveConnection(TDENetworkConnection* tqApp->processEvents(); if (!nmCallTimeoutTimer.isActive()) { PRINT_ERROR(TQString("DBUS asynchronous call timed out!")) + timed_out = true; break; } } d->nmConnectionSettingsAsyncCallWaiting.remove(asyncCallID); - return TRUE; + return !timed_out; } else { // Error! @@ -4441,13 +4445,14 @@ bool TDENetworkConnectionManager_BackendNM::saveConnection(TDENetworkConnection* while (d->nmConnectionSettingsAsyncCallWaiting[asyncCallID]) { if (!nmCallTimeoutTimer.isActive()) { PRINT_ERROR(TQString("DBUS asynchronous call timed out!")) + timed_out = true; break; } tqApp->processEvents(); } d->nmConnectionSettingsAsyncCallWaiting.remove(asyncCallID); d->nmAddConnectionAsyncResponse.remove(asyncCallID); - return TRUE; + return !timed_out; } else { // Error! @@ -4460,6 +4465,7 @@ bool TDENetworkConnectionManager_BackendNM::saveConnection(TDENetworkConnection* bool TDENetworkConnectionManager_BackendNM::deleteConnection(TQString uuid) { TQT_DBusObjectPath existingConnection; TQT_DBusError error; + bool timed_out = false; bool ret; if (d->m_networkManagerSettings) { ret = d->m_networkManagerSettings->GetConnectionByUuid(uuid, existingConnection, error); @@ -4483,11 +4489,12 @@ bool TDENetworkConnectionManager_BackendNM::deleteConnection(TQString uuid) { tqApp->processEvents(); if (!nmCallTimeoutTimer.isActive()) { PRINT_ERROR(TQString("DBUS asynchronous call timed out!")) + timed_out = true; break; } } d->nmConnectionSettingsAsyncCallWaiting.remove(asyncCallID); - return TRUE; + return !timed_out; } else { PRINT_ERROR(TQString("Unable to remove connection with uuid '%1'").arg(uuid))