Files
wmaker/src
David MaciejakandCarlos R. Mafra 371818fe36 wmaker: fix deiconify window on double-click
This patch is fixing the RenderBadPicture X errors on deiconifying
window using double-click.

Background:

I also experienced this issue these days, after checking it was not
introduce with latest apercu feature I decided to dig into it.
As far as I saw in the archive it was first reported by Rodolfo in June 2012.

Each time a window is deiconify using double-click, the error below
is reported in the session error log:
wmaker(catchXError(startup.c:177)): warning: internal X error:
RenderBadPicture (invalid Picture parameter)
        Request code: 152
        Request minor code: 7
        Resource ID: 0x6000a4
        Error serial: 9269

So I decided to track when the issue is happening,
from src/action.c wDeiconifyWindow then in src/icon.c wIconDestroy
then in src/wcore.c wCoreDestroy.
At that stage, all the structures I checked are cleaned up properly
during the icon destroy process.

So I also checked when the issue is generated, I ended in
wrlib/xutil.c RCreateXImage (in the share memory extension code)

             XSync(context->dpy, False);
             oldErrorHandler = XSetErrorHandler(errorHandler);
             XShmAttach(context->dpy, &rximg->info);
             XSync(context->dpy, False);
             XSetErrorHandler(oldErrorHandler);

At this point I was quite lost, cause it means the error could
have been in the server error queue already.

Facts, seems the issue is appearing only on double-clicking the miniwindow,
but not when "Deminiaturize" is clicked from the right-click contextual menu.
I also checked the code from winmenu.c when the action MC_MINIATURIZE
is selected from execMenuCommand fct, but it was just calling
wDeiconifyWindow function. Hum.

So, after one full day of thought I tested to just change the focus before
double-clicking the miniwindow, and bingo it works.
That means when the icon is destroyed the X server still has a reference
on it that's generating the issue.
2014-08-25 10:38:12 +01:00
..
2013-05-26 19:48:00 +01:00
2010-09-11 17:32:57 +02:00
2014-08-21 00:57:15 +01:00
2010-09-11 17:32:57 +02:00
2013-06-10 22:34:59 +01:00
2014-08-20 11:52:01 +01:00
2014-07-27 09:45:03 -06:00
2013-05-26 19:48:00 +01:00
2014-06-15 10:11:55 +01:00
2013-05-26 19:48:00 +01:00
2013-05-26 19:48:00 +01:00
2013-05-26 19:48:00 +01:00
2013-05-26 19:48:00 +01:00
2013-05-26 19:48:00 +01:00
2012-04-04 19:44:40 +01:00
2012-06-24 12:30:17 +01:00
2014-08-20 11:51:47 +01:00
2013-10-09 13:02:45 +01:00
2012-11-19 00:12:46 +01:00
2014-04-24 10:47:45 +01:00
2013-05-26 19:48:00 +01:00
2013-05-26 19:48:00 +01:00
2014-08-15 01:08:23 +01:00
2013-05-26 19:48:00 +01:00
2014-08-15 01:08:23 +01:00
2014-08-15 01:08:23 +01:00
2012-10-30 15:26:52 +00:00
2013-12-30 18:11:06 +00:00