summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Carbonneaux2018-02-28 15:05:41 -0500
committerQuentin Carbonneaux2018-02-28 15:05:41 -0500
commitee62f95569841f016025198dabf379eaa816c1dc (patch)
tree32857195dc3cceef4344f0a1fdb02497c14a2b63
parent323d49b68c5e804ed3b8cada0e2274f1589b3484 (diff)
fix long-standing UI bug
This has been annoying me on and off for YEARS! (Literally.) In some (quite rare) settings, there was an annoying UI bug where it would look like some updates were not propagated to the UI when they had to. After spending a couple of days investigating this, it turns out that it is not a bug in the editor, but in xserver (maybe). Experiments and frustration revealed that the bug seems to be in some backing store-related logic. So, here, I remove our request to get a backing store. This backing store option was here to help performance, but X implementations really should be smart enough to use one even when clients don't ask for it. Even if X servers are dumb, removing the option should not cause a noticeable performance degradation.
-rw-r--r--x11.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/x11.c b/x11.c
index 4c5291d..39961ee 100644
--- a/x11.c
+++ b/x11.c
@@ -58,9 +58,8 @@ init()
/* create the main window */
win = XCreateSimpleWindow(d, root, 0, 0, Width, Height, 0, 0,
WhitePixel(d, screen));
- swa.backing_store = WhenMapped;
swa.bit_gravity = NorthWestGravity;
- XChangeWindowAttributes(d, win, CWBackingStore|CWBitGravity, &swa);
+ XChangeWindowAttributes(d, win, CWBitGravity, &swa);
XStoreName(d, win, "ED");
XSelectInput(d, win, StructureNotifyMask|ButtonPressMask|ButtonReleaseMask|Button1MotionMask|KeyPressMask|ExposureMask|FocusChangeMask);