Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.2:Ports
fvwm2
fvwm-icon-440d675d14412ec0a123d4c977534ab688229...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File fvwm-icon-440d675d14412ec0a123d4c977534ab688229148.patch of Package fvwm2
From 65bfccfd9ed0cac95088d612fdcdf3edf4c3b23d Mon Sep 17 00:00:00 2001 From: Thomas Adam <thomas@fvwm.org> Date: Thu, 4 Aug 2016 11:38:52 +0100 Subject: [PATCH] Expose: don't flush accumulated events When dealing with Expose events, don't ever flush the accumulated ones; the handling of the queue here is incorrect, and ultimately gets addressed during other operations. This should help fix the problem of ParentRelative icon pixmaps from corrupting other icons, etc. --- fvwm/events.c | 13 +------------ fvwm/icons.c | 15 ++++----------- fvwm/menus.c | 1 - 3 files changed, 5 insertions(+), 24 deletions(-) diff --git a/fvwm/events.c b/fvwm/events.c index 3ea69bb..1d5bb64 100644 --- a/fvwm/events.c +++ b/fvwm/events.c @@ -2412,18 +2412,7 @@ void HandleExpose(const evh_args_t *ea) FvwmWindow * const fw = ea->exc->w.fw; e = *ea->exc->x.etrigger; -#if 0 - /* This doesn't work well. Sometimes, the expose count is zero although - * dozens of expose events are pending. This happens all the time - * during a shading animation. Simply flush expose events - * unconditionally. */ - if (e.xexpose.count != 0) - { - flush_accumulate_expose(e.xexpose.window, &e); - } -#else - flush_accumulate_expose(e.xexpose.window, &e); -#endif + if (fw == NULL) { return; diff --git a/fvwm/icons.c b/fvwm/icons.c index a58a019..d23f08d 100644 --- a/fvwm/icons.c +++ b/fvwm/icons.c @@ -1366,18 +1366,11 @@ void DrawIconWindow( if (draw_title && FW_W_ICON_TITLE(fw) != None) { - if (pev && pev->xexpose.window != FW_W_ICON_TITLE(fw)) + if (pev && pev->xexpose.window == FW_W_ICON_TITLE(fw)) { - XEvent e; - if (FCheckTypedWindowEvent( - dpy, FW_W_ICON_TITLE(fw), Expose, &e)) - { - flush_accumulate_expose( - FW_W_ICON_TITLE(fw), &e); - DrawIconTitleWindow( - fw, &e, BackColor, Shadow, Relief, cs, - title_cs); - } + DrawIconTitleWindow( + fw, pev, BackColor, Shadow, Relief, cs, + title_cs); } else { diff --git a/fvwm/menus.c b/fvwm/menus.c index 885eada..2c49195 100644 --- a/fvwm/menus.c +++ b/fvwm/menus.c @@ -6239,7 +6239,6 @@ Bool menu_expose(XEvent *event, FvwmWindow *fw) dpy, event->xany.window, MenuContext, (caddr_t *)&mr) != XCNOENT)) { - flush_accumulate_expose(event->xany.window, event); paint_menu(mr, event, fw); return True;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor