aboutsummaryrefslogtreecommitdiffstats
path: root/pugl/detail/x11.c
diff options
context:
space:
mode:
Diffstat (limited to 'pugl/detail/x11.c')
-rw-r--r--pugl/detail/x11.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/pugl/detail/x11.c b/pugl/detail/x11.c
index 49c843b..4099553 100644
--- a/pugl/detail/x11.c
+++ b/pugl/detail/x11.c
@@ -648,14 +648,18 @@ flushPendingConfigure(PuglView* view)
PuglEvent* const configure = &view->impl->pendingConfigure;
if (configure->type) {
- view->frame.x = configure->configure.x;
- view->frame.y = configure->configure.y;
- view->frame.width = configure->configure.width;
- view->frame.height = configure->configure.height;
-
- view->backend->resize(view,
- (int)view->frame.width,
- (int)view->frame.height);
+ view->frame.x = configure->configure.x;
+ view->frame.y = configure->configure.y;
+
+ if (configure->configure.width != view->frame.width ||
+ configure->configure.height != view->frame.height) {
+ view->frame.width = configure->configure.width;
+ view->frame.height = configure->configure.height;
+
+ view->backend->resize(view,
+ (int)view->frame.width,
+ (int)view->frame.height);
+ }
view->eventFunc(view, configure);
configure->type = 0;