1
0
Fork 0

GUI: improved stack usage in loadWindowSettings

This commit is contained in:
mrexodia 2016-12-30 16:23:38 +01:00
parent abab4cf52e
commit 38a8ffce8c
No known key found for this signature in database
GPG Key ID: FC89E0AAA0C1AAD8
1 changed files with 7 additions and 14 deletions

View File

@ -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)));
}
}