Unverified Commit c68a579e authored by Mihai Moldovan's avatar Mihai Moldovan

Merge branch 'uli42-pr/fix_fullscreen_memleak' into 3.6.x

parents 994305ff 646e3ce2
...@@ -418,29 +418,23 @@ FIXME: We'll check for ReparentNotify and LeaveNotify events after ...@@ -418,29 +418,23 @@ FIXME: We'll check for ReparentNotify and LeaveNotify events after
Window nxagentCreateIconWindow(void) Window nxagentCreateIconWindow(void)
{ {
XSetWindowAttributes attributes;
unsigned long valuemask;
char* window_name;
XTextProperty windowName;
XSizeHints* sizeHints;
XWMHints* wmHints;
Window w;
Mask mask;
/* /*
* Create icon window. * Create icon window.
*/ */
attributes.override_redirect = False; XSetWindowAttributes attributes = {
attributes.colormap = DefaultColormap(nxagentDisplay, DefaultScreen(nxagentDisplay)); .override_redirect = False,
attributes.background_pixmap = nxagentScreenSaverPixmap; .colormap = DefaultColormap(nxagentDisplay, DefaultScreen(nxagentDisplay)),
valuemask = CWOverrideRedirect | CWBackPixmap | CWColormap; .background_pixmap = nxagentScreenSaverPixmap,
};
unsigned long valuemask = CWOverrideRedirect | CWBackPixmap | CWColormap;
#ifdef TEST #ifdef TEST
fprintf(stderr, "nxagentCreateIconWindow: Going to create new icon window.\n"); fprintf(stderr, "nxagentCreateIconWindow: Going to create new icon window.\n");
#endif #endif
w = XCreateWindow(nxagentDisplay, DefaultRootWindow(nxagentDisplay), Window w = XCreateWindow(nxagentDisplay, DefaultRootWindow(nxagentDisplay),
0, 0, 1, 1, 0, 0, 0, 1, 1, 0,
DefaultDepth(nxagentDisplay, DefaultScreen(nxagentDisplay)), DefaultDepth(nxagentDisplay, DefaultScreen(nxagentDisplay)),
InputOutput, InputOutput,
...@@ -460,17 +454,17 @@ Window nxagentCreateIconWindow(void) ...@@ -460,17 +454,17 @@ Window nxagentCreateIconWindow(void)
* Set hints to the window manager for the icon window. * Set hints to the window manager for the icon window.
*/ */
window_name = nxagentWindowName; XSizeHints* sizeHints = XAllocSizeHints();
XStringListToTextProperty(&window_name, 1, &windowName); XWMHints* wmHints = XAllocWMHints();;
if ((sizeHints = XAllocSizeHints())) if (sizeHints)
{ {
sizeHints->flags = PMinSize | PMaxSize; sizeHints->flags = PMinSize | PMaxSize;
sizeHints->min_width = sizeHints->max_width = 1; sizeHints->min_width = sizeHints->max_width = 1;
sizeHints->min_height = sizeHints->max_height = 1; sizeHints->min_height = sizeHints->max_height = 1;
} }
if ((wmHints = XAllocWMHints())) if (wmHints)
{ {
wmHints->flags = IconPixmapHint | IconMaskHint; wmHints->flags = IconPixmapHint | IconMaskHint;
wmHints->initial_state = IconicState; wmHints->initial_state = IconicState;
...@@ -487,6 +481,7 @@ Window nxagentCreateIconWindow(void) ...@@ -487,6 +481,7 @@ Window nxagentCreateIconWindow(void)
} }
} }
char *window_name = nxagentWindowName;
Xutf8SetWMProperties(nxagentDisplay, w, Xutf8SetWMProperties(nxagentDisplay, w,
window_name, window_name, window_name, window_name,
NULL , 0 , sizeHints, wmHints, NULL); NULL , 0 , sizeHints, wmHints, NULL);
...@@ -498,7 +493,7 @@ Window nxagentCreateIconWindow(void) ...@@ -498,7 +493,7 @@ Window nxagentCreateIconWindow(void)
* Enable events from the icon window. * Enable events from the icon window.
*/ */
mask = nxagentGetDefaultEventMask(); Mask mask = nxagentGetDefaultEventMask();
XSelectInput(nxagentDisplay, w, (mask & ~(KeyPressMask | XSelectInput(nxagentDisplay, w, (mask & ~(KeyPressMask |
KeyReleaseMask)) | StructureNotifyMask); KeyReleaseMask)) | StructureNotifyMask);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment