diff options
| author | Bent Bisballe Nyeng <deva@aasimon.org> | 2017-02-03 19:58:12 +0100 | 
|---|---|---|
| committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2017-02-03 19:58:12 +0100 | 
| commit | 44f405b5460f6163e8772095de9a64082b76f075 (patch) | |
| tree | 388376dc2466bc66654588fbf5c15eefb7afa6c3 /plugingui | |
| parent | 091997de9a9faab2619647e8927370372604fe30 (diff) | |
Remove background flickering on window resize.
Diffstat (limited to 'plugingui')
| -rw-r--r-- | plugingui/nativewindow_x11.cc | 20 | 
1 files changed, 12 insertions, 8 deletions
| diff --git a/plugingui/nativewindow_x11.cc b/plugingui/nativewindow_x11.cc index 353a371..5bb6474 100644 --- a/plugingui/nativewindow_x11.cc +++ b/plugingui/nativewindow_x11.cc @@ -49,8 +49,6 @@ NativeWindowX11::NativeWindowX11(void* native_window, Window& window)  	screen = DefaultScreen(display); -	int clearColor = 0xbbbbbb; -  	::Window parentWindow;  	if(native_window)  	{ @@ -63,12 +61,18 @@ NativeWindowX11::NativeWindowX11(void* native_window, Window& window)  	// Create the window  	unsigned long border = 0; -	xwindow = XCreateSimpleWindow(display, -	                              parentWindow, -	                              window.x(), window.y(), -	                              window.width(), window.height(), -	                              border, -	                              clearColor, clearColor); +	XSetWindowAttributes swa; +	swa.backing_store = Always; +	xwindow = XCreateWindow(display, +	                        parentWindow, +	                        window.x(), window.y(), +	                        window.width(), window.height(), +	                        border, +	                        CopyFromParent, // depth +	                        CopyFromParent, // class +	                        CopyFromParent, // visual +	                        CWBackingStore, +	                        &swa);  	long mask = (StructureNotifyMask |  	             PointerMotionMask | | 
