From 38a8ffce8ce4505aafa7693389e0efd4cf1b0b52 Mon Sep 17 00:00:00 2001 From: mrexodia Date: Fri, 30 Dec 2016 16:23:38 +0100 Subject: [PATCH] GUI: improved stack usage in loadWindowSettings --- src/gui/Src/Gui/MainWindow.cpp | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/src/gui/Src/Gui/MainWindow.cpp b/src/gui/Src/Gui/MainWindow.cpp index 3024cb47..e9b1c494 100644 --- a/src/gui/Src/Gui/MainWindow.cpp +++ b/src/gui/Src/Gui/MainWindow.cpp @@ -576,16 +576,12 @@ void MainWindow::saveWindowSettings() void MainWindow::loadWindowSettings() { // Main Window settings - char mainWindowSetting[MAX_SETTING_SIZE]; - memset(mainWindowSetting, 0, sizeof(mainWindowSetting)); - BridgeSettingGet("Main Window Settings", "Geometry", mainWindowSetting); - size_t sizeofSetting = strlen(mainWindowSetting); - restoreGeometry(QByteArray::fromBase64(QByteArray(mainWindowSetting, int(sizeofSetting)))); + char setting[MAX_SETTING_SIZE] = ""; + if(BridgeSettingGet("Main Window Settings", "Geometry", setting)) + restoreGeometry(QByteArray::fromBase64(QByteArray(setting))); - memset(mainWindowSetting, 0, sizeof(mainWindowSetting)); - BridgeSettingGet("Main Window Settings", "State", mainWindowSetting); - sizeofSetting = strlen(mainWindowSetting); - restoreState(QByteArray::fromBase64(QByteArray(mainWindowSetting, int(sizeofSetting)))); + if(BridgeSettingGet("Main Window Settings", "State", setting)) + restoreState(QByteArray::fromBase64(QByteArray(setting))); // Restore detached windows size and position // If a tab was detached last session, manually detach it now to populate MHTabWidget::windows @@ -603,11 +599,8 @@ void MainWindow::loadWindowSettings() { if(detachedTabWindows.contains(mWidgetList[i].widget)) { - char geometrySetting[MAX_SETTING_SIZE]; - memset(geometrySetting, 0, sizeof(geometrySetting)); - BridgeSettingGet("Tab Window Settings", mWidgetList[i].nativeName.toUtf8().constData(), geometrySetting); - size_t sizeofgeometrySetting = strlen(geometrySetting); - mWidgetList[i].widget->parentWidget()->restoreGeometry(QByteArray::fromBase64(QByteArray(geometrySetting, int(sizeofgeometrySetting)))); + if(BridgeSettingGet("Tab Window Settings", mWidgetList[i].nativeName.toUtf8().constData(), setting)) + mWidgetList[i].widget->parentWidget()->restoreGeometry(QByteArray::fromBase64(QByteArray(setting))); } }