From a6962145e8248ecfd18b9e7aa7fcdceef23caab1 Mon Sep 17 00:00:00 2001 From: cxl Date: Fri, 17 Oct 2008 09:08:44 +0000 Subject: [PATCH] Fixed problem with 'stuck' informational popups (e.g. ToolTip) git-svn-id: svn://ultimatepp.org/upp/trunk@538 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/CtrlCore/CtrlMouse.cpp | 2 +- uppsrc/CtrlCore/X11Wnd.cpp | 2 ++ uppsrc/CtrlLib/LabelBase.cpp | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/uppsrc/CtrlCore/CtrlMouse.cpp b/uppsrc/CtrlCore/CtrlMouse.cpp index f793a86e3..2d5861bf9 100644 --- a/uppsrc/CtrlCore/CtrlMouse.cpp +++ b/uppsrc/CtrlCore/CtrlMouse.cpp @@ -2,7 +2,7 @@ NAMESPACE_UPP -#define LLOG(x) // LOG(x) +#define LLOG(x) // DLOG(x) Ptr Ctrl::eventCtrl; Ptr Ctrl::mouseCtrl; diff --git a/uppsrc/CtrlCore/X11Wnd.cpp b/uppsrc/CtrlCore/X11Wnd.cpp index 526984fcd..15e2ee145 100644 --- a/uppsrc/CtrlCore/X11Wnd.cpp +++ b/uppsrc/CtrlCore/X11Wnd.cpp @@ -422,6 +422,8 @@ void Ctrl::Create(Ctrl *owner, bool redirect, bool savebits) XChangeProperty(Xdisplay, w, XAtom("XdndAware"), XA_ATOM, 32, 0, (byte *)&version, 1); CancelMode(); + if(r.Contains(GetMousePos())) + DispatchMouse(MOUSEMOVE, GetMousePos() - r.TopLeft()); } void Ctrl::WndDestroy() diff --git a/uppsrc/CtrlLib/LabelBase.cpp b/uppsrc/CtrlLib/LabelBase.cpp index 14b1ee935..2b29685b9 100644 --- a/uppsrc/CtrlLib/LabelBase.cpp +++ b/uppsrc/CtrlLib/LabelBase.cpp @@ -468,6 +468,7 @@ void DisplayPopup::MouseWheel(Point p, int zdelta, dword flags) void DisplayPopup::MouseLeave() { + DLOG("DisplayPopup::MouseLeave"); Cancel(); } @@ -513,6 +514,7 @@ void DisplayPopup::Sync() SetRect(r); if(!IsOpen()) Ctrl::PopUp(ctrl, true, false, false); + DLOG("Open!"); return; } }