From 4b8af4ac8718ea6ff7b755889d6a81aac4dbaa4e Mon Sep 17 00:00:00 2001
From: Vadim Zeitlin <vadim@wxwidgets.org>
Date: Sun, 6 Jan 2008 15:26:16 +0000
Subject: [PATCH] return false from Dispatch() if gtk_main_quit() was called
 (patch 1864846)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/changes.txt    | 5 +++++
 src/gtk/evtloop.cpp | 5 ++---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/docs/changes.txt b/docs/changes.txt
index bd73790238..ce0a0cccbb 100644
--- a/docs/changes.txt
+++ b/docs/changes.txt
@@ -318,6 +318,11 @@ wxMSW:
 - Fix rare bug with messages delivered to wrong wxSocket (Tim Kosse)
 - Fix setting icons when they have non-default (16*16 and 32*32) sizes
 
+wxGTK:
+
+- Return false from wxEventLoop::Dispatch() if gtk_main_quit() was called and
+  so the loop should exit (Rodolfo Schulz de Lima)
+
 
 2.8.7
 -----
diff --git a/src/gtk/evtloop.cpp b/src/gtk/evtloop.cpp
index 9cfac6466a..a9843d9cda 100644
--- a/src/gtk/evtloop.cpp
+++ b/src/gtk/evtloop.cpp
@@ -112,7 +112,6 @@ bool wxGUIEventLoop::Dispatch()
 {
     wxCHECK_MSG( IsRunning(), false, _T("can't call Dispatch() if not running") );
 
-    gtk_main_iteration();
-
-    return true;
+    // gtk_main_iteration() returns TRUE only if gtk_main_quit() was called
+    return !gtk_main_iteration();
 }
-- 
2.47.2