From 0ec63f6df60f15367db2ebebb9f9fbb169d0dd4f Mon Sep 17 00:00:00 2001 From: cxl Date: Fri, 16 Dec 2011 08:46:48 +0000 Subject: [PATCH] *CtrlLib: Fixed ColorPopUp issue in X11 git-svn-id: svn://ultimatepp.org/upp/trunk@4307 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/CtrlCore/X11Ctrl.cpp | 2 +- uppsrc/CtrlLib/ColorPopup.cpp | 5 ++++- uppsrc/CtrlLib/DlgColor.h | 1 + uppsrc/CtrlLib/DropChoice.h | 1 - uppsrc/ide/t.cpp | 1 + 5 files changed, 7 insertions(+), 3 deletions(-) diff --git a/uppsrc/CtrlCore/X11Ctrl.cpp b/uppsrc/CtrlCore/X11Ctrl.cpp index 4e2b254c7..d9deeb401 100644 --- a/uppsrc/CtrlCore/X11Ctrl.cpp +++ b/uppsrc/CtrlCore/X11Ctrl.cpp @@ -152,4 +152,4 @@ void Ctrl::SyncCaret() { END_UPP_NAMESPACE -#endif \ No newline at end of file +#endif diff --git a/uppsrc/CtrlLib/ColorPopup.cpp b/uppsrc/CtrlLib/ColorPopup.cpp index c237c285d..ac8e38d5d 100644 --- a/uppsrc/CtrlLib/ColorPopup.cpp +++ b/uppsrc/CtrlLib/ColorPopup.cpp @@ -317,7 +317,7 @@ Color ColorPopUp::Get() const } void ColorPopUp::PopupDeactivate() { - if(popup && popup->IsOpen() && !animating) { + if(popup && popup->IsOpen() && !animating && open) { popup.Clear(); IgnoreMouseClick(); WhenCancel(); @@ -347,6 +347,7 @@ void ColorPopUp::PopUp(Ctrl *owner, Color c) Rect rt = RectC(x, y, sz.cx, sz.cy); + open = false; popup.Create(); popup->color = this; popup->Add(*this); @@ -374,6 +375,7 @@ void ColorPopUp::PopUp(Ctrl *owner, Color c) if(!popup->IsOpen()) popup->PopUp(owner, true, true, true); SetFocus(); + open = true; } void ColorPopUp::Select() @@ -389,6 +391,7 @@ ColorPopUp::ColorPopUp() scolors = false; animating = false; hints = false; + open = false; SetFrame(MenuFrame()); Add(ramp); Add(wheel); diff --git a/uppsrc/CtrlLib/DlgColor.h b/uppsrc/CtrlLib/DlgColor.h index a344f813d..e6b4325aa 100644 --- a/uppsrc/CtrlLib/DlgColor.h +++ b/uppsrc/CtrlLib/DlgColor.h @@ -169,6 +169,7 @@ private: bool norampwheel; bool animating; bool hints; + bool open; String nulltext; Color color; diff --git a/uppsrc/CtrlLib/DropChoice.h b/uppsrc/CtrlLib/DropChoice.h index 4c7a47b24..2770ba9b5 100644 --- a/uppsrc/CtrlLib/DropChoice.h +++ b/uppsrc/CtrlLib/DropChoice.h @@ -14,7 +14,6 @@ protected: virtual void Deactivate() { table->PopupDeactivate(); } virtual void CancelMode() { table->PopupCancelMode(); } - }; int droplines; diff --git a/uppsrc/ide/t.cpp b/uppsrc/ide/t.cpp index e47ecde72..a58bc2c7b 100644 --- a/uppsrc/ide/t.cpp +++ b/uppsrc/ide/t.cpp @@ -504,6 +504,7 @@ void Ide::SyncT(int kind) } catch(CParser::Error& e) { PutConsole(e); + Exclamation("Failed: \1" + e); return; } }