# HG changeset patch # User vitiv # Date 1356876268 -7200 # Node ID 9d9b498cfb032318b914837e2622e96f33e87f94 # Parent aa4ea3cade3c93e7e7fe9935247ddbd964370df2 Preserve windowed resolution after manual resize diff -r aa4ea3cade3c -r 9d9b498cfb03 QTfrontend/game.cpp --- a/QTfrontend/game.cpp Sat Dec 29 14:40:20 2012 +0200 +++ b/QTfrontend/game.cpp Sun Dec 30 16:04:28 2012 +0200 @@ -23,6 +23,8 @@ #include #include +#include "hwform.h" +#include "ui/page/pageoptions.h" #include "game.h" #include "hwconsts.h" #include "gameuiconfig.h" @@ -274,6 +276,16 @@ writeCampaignVar(msg.right(msg.size() - 3)); break; } + case 'W': + { + // fetch new window resolution via IPC and save it in the settings + int size = msg.size(); + QString newResolution = QString().append(msg.mid(2)).left(size - 4); + QStringList wh = newResolution.split('x'); + config->Form->ui.pageOptions->windowWidthEdit->setText(wh[0]); + config->Form->ui.pageOptions->windowHeightEdit->setText(wh[1]); + break; + } default: { if (gameType == gtNet && !netSuspend) diff -r aa4ea3cade3c -r 9d9b498cfb03 hedgewars/hwengine.pas --- a/hedgewars/hwengine.pas Sat Dec 29 14:40:20 2012 +0200 +++ b/hedgewars/hwengine.pas Sun Dec 30 16:04:28 2012 +0200 @@ -276,6 +276,7 @@ ScriptOnScreenResize(); InitCameraBorders(); InitTouchInterface(); + SendIPC('W' + IntToStr(cScreenWidth) + 'x' + IntToStr(cScreenHeight)); end; CurrTime:= SDL_GetTicks();