fix: resize/move indicator (gview) not updating on Wayland
Two bugs in geomview.c: (1) Missing backing commit on Wayland - paint() wrote to pixman backing but never pushed to scene graph. Added W_RedisplayView() after paint() in both WSetGeometryViewShownPosition and WSetGeometryViewShownSize. (2) Expose event handler used case Expose: (X11 constant value 12) instead of case WME_EXPOSE: (WINGs enum value 8) - harmless on X11 where Pixmap content is server-persistent, but broke Wayland where the expose handler is the re-draw mechanism after wl_redisplay fills the backing with bg color.
This commit is contained in:
parent
fd6e972bbf
commit
1bf64c26c9
|
|
@ -88,6 +88,7 @@ void WSetGeometryViewShownPosition(WGeometryView * gview, int x, int y)
|
|||
gview->data.pos.y = y;
|
||||
|
||||
paint(gview);
|
||||
W_RedisplayView(gview->view);
|
||||
}
|
||||
|
||||
void WSetGeometryViewShownSize(WGeometryView * gview, unsigned width, unsigned height)
|
||||
|
|
@ -97,6 +98,7 @@ void WSetGeometryViewShownSize(WGeometryView * gview, unsigned width, unsigned h
|
|||
gview->data.size.height = height;
|
||||
|
||||
paint(gview);
|
||||
W_RedisplayView(gview->view);
|
||||
}
|
||||
|
||||
static void paint(WGeometryView * gview)
|
||||
|
|
@ -125,7 +127,7 @@ static void handleEvents(WMEvent * event, void *clientData)
|
|||
WGeometryView *gview = (WGeometryView *) clientData;
|
||||
|
||||
switch (event->type) {
|
||||
case Expose:
|
||||
case WME_EXPOSE:
|
||||
paint(gview);
|
||||
break;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue