Home » U++ Library support » Menus&Toolbars » [not a bug] Menu isn`t drawn. NOGTK. FreeBSD/Fluxbox
Re: [bug?] Menu isn`t drawn. NOGTK. FreeBSD/Fluxbox [message #18853 is a reply to message #18288] |
Tue, 28 October 2008 17:15 |
Mindtraveller
Messages: 917 Registered: August 2007 Location: Russia, Moscow rgn.
|
Experienced Contributor |
|
|
Finally I debugged deep into CtrlCore and discovered that dropdown popups and menus are drawn but they are drawn BEHIND actual active window.
I tried some dirty hack to test if it can be corrected and it worked. Partially. Dropdown menus work properly, menus are drawn properly too but disappear on mouse movement inside them.
My dirty little test patch:
CtrlCore/X11Wnd.cpp
was:void Ctrl::PopUp(Ctrl *owner, bool savebits, bool activate, bool, bool)
{
LLOG("POPUP: " << UPP::Name(this));
Ctrl *q = owner ? owner->GetTopCtrl() : GetActiveCtrl();
ignoretakefocus = true;
Create(q, true, savebits);
if(activate) {
q->StartPopupGrab();
popupgrab = true;
}
if(top) popup = true;
WndShow(visible);
if(activate && IsEnabled())
SetFocus();
if(top) top->owner = owner;
StateH(OPEN);
}
now:void Ctrl::PopUp(Ctrl *owner, bool savebits, bool activate, bool, bool)
{
LLOG("POPUP: " << UPP::Name(this));
Ctrl *q = owner ? owner->GetTopCtrl() : GetActiveCtrl();
ignoretakefocus = true;
Create(q, true, savebits);
if(activate) {
q->StartPopupGrab();
popupgrab = true;
}
if(top) popup = true;
WndShow(visible);
SetWndFocus();
XRaiseWindow(Xdisplay, top->window);
if(activate && IsEnabled())
SetFocus();
if(top) top->owner = owner;
StateH(OPEN);
}
|
|
|
Goto Forum:
Current Time: Mon May 13 09:26:42 CEST 2024
Total time taken to generate the page: 0.01603 seconds
|