Suppress focus loss on opening combobox popup in wxGTK

Make GTKHandleFocusOut() virtual and override it in wxChoice in order to
avoid generating wxEVT_KILL_FOCUS events when the combobox dropdown
button is clicked.

This is important because it allows fatal problems when using a
combobox-based in-place editor in wxDataViewCtrl as getting these events
totally broke the UI before.

See #17034.
This commit is contained in:
Vadim Zeitlin
2018-02-04 00:05:48 +01:00
parent 1148b2e0fe
commit 508a409f7e
4 changed files with 20 additions and 1 deletions

View File

@@ -197,7 +197,7 @@ public:
GdkWindow* GTKGetDrawingWindow() const;
bool GTKHandleFocusIn();
bool GTKHandleFocusOut();
virtual bool GTKHandleFocusOut();
void GTKHandleFocusOutNoDeferring();
void GTKHandleDeferredFocusOut();