Massive flickering with gdk_window_ensure_native()
Steps to reproduce
- Use attached snippet
Current behavior
Massive flickering is observed. This is for example seen in gedit when XIM input method is used.
Expected outcome
No flickering.
Version information
3.24.13
Additional information
Also known as: https://bugs.eclipse.org/bugs/show_bug.cgi?id=517671
Copy&paste of full analysis as presented in snippet:
- XIM uses gdk_window_ensure_native() on GtkEntry/GtkTextView/...
- Pixel caching is disabled for windows larger then content
See _gtk_pixel_cache_create_surface_if_needed() near 'view >= canvas' - Double-buffering is disabled for non-toplevel windows
See gdk_window_end_draw_frame() near 'gdk_window_is_toplevel()' - When a window is native, it is no longer rendered as part of its top-level parent
(2) explains why window needs to be resized to reproduce
(3)(4) explains why gdk_window_ensure_native() causes problems