Home » U++ TheIDE » U++ TheIDE: Other Features Wishlist and/or Bugs » codetip bug in the unbuntu9.04
Re: codetip bug in the unbuntu9.04 [message #21971 is a reply to message #21960] |
Sat, 13 June 2009 10:08 |
|
mirek
Messages: 13979 Registered: November 2005
|
Ultimate Member |
|
|
Well, I am absolutely unsure about the fix, but this seems to help:
void Ctrl::Create0(Ctrl *owner, bool redirect, bool savebits)
{
GuiLock __;
ASSERT(IsMainThread());
LLOG("Create " << Name() << " " << GetRect());
ASSERT(!IsChild() && !IsOpen());
LLOG("Ungrab1");
ReleaseGrab();
XSetWindowAttributes swa;
swa.bit_gravity = ForgetGravity;
swa.background_pixmap = None;
swa.override_redirect = redirect;
swa.save_under = savebits;
Color c = SColorPaper();
swa.background_pixel = GetXPixel(c.GetR(), c.GetG(), c.GetB());
Rect r = GetRect();
isopen = true;
Window w = XCreateWindow(Xdisplay, RootWindow(Xdisplay, Xscreenno),
r.left, r.top, r.Width(), r.Height(),
0, CopyFromParent, InputOutput, CopyFromParent,
CWBitGravity|CWSaveUnder|CWOverrideRedirect|
(IsCompositedGui() ? CWBackPixel : CWBackPixmap),
&swa);
if(!w) XError("XCreateWindow failed !");
int i = Xwindow().Find(None);
if(i >= 0) Xwindow().SetKey(i, w);
XWindow& cw = i >= 0 ? Xwindow()[i] : Xwindow().Add(w);
cw.ctrl = this;
cw.exposed = false;
cw.owner = owner;
/*
cw.xic = xim ? XCreateIC(xim,
XNInputStyle, XIMPreeditNothing|XIMStatusNothing,
XNClientWindow, w,
XNFocusWindow, w,
NULL)
: NULL;
*/
// This seems to fix SCIM problem
cw.xic = xim ? XCreateIC((XIM)xim,
XNInputStyle, XIMPreeditNothing|XIMStatusNothing,
XNClientWindow, Xroot,
NULL)
: NULL;
top = new Top;
top->window = w;
long im_event_mask = 0;
if(cw.xic)
XGetICValues(cw.xic, XNFilterEvents, &im_event_mask, NULL);
XSelectInput(Xdisplay, w, ExposureMask|StructureNotifyMask|KeyPressMask|
FocusChangeMask|KeyPressMask|KeyReleaseMask|PointerMotionMask|
ButtonPressMask|ButtonReleaseMask|PropertyChangeMask|
VisibilityChangeMask|im_event_mask);
int version = 5;
XChangeProperty(Xdisplay, w, XAtom("XdndAware"), XA_ATOM, 32,
0, (byte *)&version, 1);
CancelMode();
if(r.Contains(GetMousePos()))
DispatchMouse(MOUSEMOVE, GetMousePos() - r.TopLeft());
if(redirect) {
int windowType = XInternAtom(Xdisplay, "_NET_WM_WINDOW_TYPE_POPUP_MENU", false);
XChangeProperty(Xdisplay, w, XInternAtom(Xdisplay, "_NET_WM_WINDOW_TYPE", false), XA_ATOM, 32,
PropModeReplace, (byte *)&windowType, 1);
}
RefreshLayoutDeep();
}
The question is how it will affect XIM usability - please check and report (it seems to work just fine with CS-CZ).
Mirek
|
|
|
|
|
codetip bug in the unbuntu9.04
By: gxl117 on Sat, 23 May 2009 04:29
|
|
|
Re: codetip bug in the unbuntu9.04
By: mirek on Sat, 23 May 2009 08:50
|
|
|
Re: codetip bug in the unbuntu9.04
By: gxl117 on Sat, 23 May 2009 09:25
|
|
|
Re: codetip bug in the unbuntu9.04
By: mirek on Sat, 23 May 2009 09:59
|
|
|
Re: codetip bug in the unbuntu9.04
By: gxl117 on Sat, 23 May 2009 10:51
|
|
|
Re: codetip bug in the unbuntu9.04
By: gxl117 on Sat, 23 May 2009 12:14
|
|
|
Re: codetip bug in the unbuntu9.04
By: mirek on Sat, 23 May 2009 16:10
|
|
|
Re: codetip bug in the unbuntu9.04
By: gxl117 on Sat, 23 May 2009 17:14
|
|
|
Re: codetip bug in the unbuntu9.04
|
|
|
Re: codetip bug in the unbuntu9.04
By: gxl117 on Sun, 24 May 2009 01:47
|
|
|
Re: codetip bug in the unbuntu9.04
By: mirek on Sun, 24 May 2009 19:47
|
|
|
Re: codetip bug in the unbuntu9.04
By: gxl117 on Sun, 24 May 2009 20:53
|
|
|
Re: codetip bug in the unbuntu9.04
By: gxl117 on Sun, 24 May 2009 21:35
|
|
|
Re: codetip bug in the unbuntu9.04
|
|
|
Re: codetip bug in the unbuntu9.04
By: loki on Fri, 29 May 2009 14:51
|
|
|
Re: codetip bug in the unbuntu9.04
By: mirek on Fri, 12 June 2009 13:46
|
|
|
Re: codetip bug in the unbuntu9.04
By: mirek on Sat, 13 June 2009 10:08
|
|
|
Re: codetip bug in the unbuntu9.04
By: gxl117 on Sat, 13 June 2009 11:48
|
|
|
Re: codetip bug in the unbuntu9.04
By: gxl117 on Sat, 13 June 2009 12:05
|
|
|
Re: codetip bug in the unbuntu9.04
By: gxl117 on Sat, 13 June 2009 12:57
|
|
|
Re: codetip bug in the unbuntu9.04
By: mirek on Sun, 14 June 2009 11:48
|
|
|
Re: codetip bug in the unbuntu9.04
By: gxl117 on Sun, 14 June 2009 14:02
|
|
|
Re: codetip bug in the unbuntu9.04
By: gxl117 on Sun, 14 June 2009 14:03
|
|
|
Re: codetip bug in the unbuntu9.04
By: mirek on Sun, 14 June 2009 15:56
|
|
|
Re: codetip bug in the unbuntu9.04
By: gxl117 on Sun, 14 June 2009 16:25
|
|
|
Re: codetip bug in the unbuntu9.04
By: mirek on Sun, 14 June 2009 16:45
|
|
|
Re: codetip bug in the unbuntu9.04
By: gxl117 on Sun, 14 June 2009 17:27
|
|
|
Re: codetip bug in the unbuntu9.04
By: mirek on Sun, 14 June 2009 20:18
|
|
|
Re: codetip bug in the unbuntu9.04
By: gxl117 on Mon, 15 June 2009 04:11
|
|
|
Re: codetip bug in the unbuntu9.04
By: mirek on Mon, 15 June 2009 11:29
|
|
|
Re: codetip bug in the unbuntu9.04
By: mirek on Sun, 14 June 2009 14:09
|
|
|
Re: codetip bug in the unbuntu9.04
By: gxl117 on Sun, 14 June 2009 14:31
|
|
|
Re: codetip bug in the unbuntu9.04
By: mirek on Sun, 14 June 2009 14:36
|
|
|
Re: codetip bug in the unbuntu9.04
By: gxl117 on Sun, 14 June 2009 15:24
|
Goto Forum:
Current Time: Sun May 12 23:13:06 CEST 2024
Total time taken to generate the page: 0.02060 seconds
|