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:
Ollie 2026-05-30 11:37:51 +02:00
parent fd6e972bbf
commit 1bf64c26c9
1 changed files with 3 additions and 1 deletions

View File

@ -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;