From b97ddd71edc201ef222c27537058385cf5e87f2a Mon Sep 17 00:00:00 2001 From: Mirek Fidler Date: Tue, 12 Apr 2022 09:39:10 +0200 Subject: [PATCH] CtrlCore: Ctrl::exitcode removed (4 bytes saved..) --- uppsrc/CtrlCore/Ctrl.cpp | 10 ++-------- uppsrc/CtrlCore/CtrlCore.h | 2 -- uppsrc/CtrlCore/TopWindow.h | 4 ++++ uppsrc/CtrlCore/lay0.h | 6 +++--- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/uppsrc/CtrlCore/Ctrl.cpp b/uppsrc/CtrlCore/Ctrl.cpp index e29e64a77..215c65ac7 100644 --- a/uppsrc/CtrlCore/Ctrl.cpp +++ b/uppsrc/CtrlCore/Ctrl.cpp @@ -629,7 +629,6 @@ Ctrl::Ctrl() { destroying = false; parent = prev = next = firstchild = lastchild = NULL; top = NULL; - exitcode = 0; frame.Add().frame = &NullFrame(); enabled = visible = wantfocus = initfocus = true; editable = true; @@ -1102,7 +1101,8 @@ void Ctrl::EndLoop(int code) { GuiLock __; ASSERT(!parent); - exitcode = code; + TopWindow *w = GetTopWindow(); + w->exitcode = code; EndLoop(); } @@ -1118,12 +1118,6 @@ bool Ctrl::InCurrentLoop() const return GetLoopCtrl() == this; } -int Ctrl::GetExitCode() const -{ - GuiLock __; - return exitcode; -} - #ifdef HAS_TopFrameDraw ViewDraw::ViewDraw(Ctrl *ctrl, const Rect& r) diff --git a/uppsrc/CtrlCore/CtrlCore.h b/uppsrc/CtrlCore/CtrlCore.h index dd5d93beb..c84e831b8 100644 --- a/uppsrc/CtrlCore/CtrlCore.h +++ b/uppsrc/CtrlCore/CtrlCore.h @@ -489,7 +489,6 @@ private: }; Top *top; - int exitcode; Ctrl *prev, *next; Ctrl *firstchild, *lastchild;//16 @@ -1255,7 +1254,6 @@ public: void EndLoop(int code); bool InLoop() const; bool InCurrentLoop() const; - int GetExitCode() const; static PasteClip& Clipboard(); static PasteClip& Selection(); diff --git a/uppsrc/CtrlCore/TopWindow.h b/uppsrc/CtrlCore/TopWindow.h index f6bd780e9..a2186c244 100644 --- a/uppsrc/CtrlCore/TopWindow.h +++ b/uppsrc/CtrlCore/TopWindow.h @@ -48,6 +48,8 @@ private: bool fullscreen; byte center:2; + + int exitcode = 0; void PlaceFocus(); void ActiveFocus0(Ctrl& ctrl); @@ -91,6 +93,8 @@ private: GUIPLATFORM_TOPWINDOW_DECLS #endif + friend class Ctrl; + public: virtual void ShutdownWindow(); diff --git a/uppsrc/CtrlCore/lay0.h b/uppsrc/CtrlCore/lay0.h index 28175f571..e2da1477b 100644 --- a/uppsrc/CtrlCore/lay0.h +++ b/uppsrc/CtrlCore/lay0.h @@ -54,9 +54,9 @@ #define LAYOUT(nm, x, y) template \ void InitLayout(UPP::Ctrl& parent, L& layout, D& uts, nm##__layid&) { \ - parent.LayoutId(#nm); -#define UNTYPED(var, param) uts.var.param; uts.var.LayoutId(#var); parent.Add(uts.var); -#define ITEM(clss, var, param) layout.var.param; layout.var.LayoutId(#var); parent.Add(layout.var); + parent.LayoutIdLiteral(#nm); +#define UNTYPED(var, param) uts.var.param; uts.var.LayoutIdLiteral(#var); parent.Add(uts.var); +#define ITEM(clss, var, param) layout.var.param; layout.var.LayoutIdLiteral(#var); parent.Add(layout.var); #define END_LAYOUT } #include LAYOUTFILE