When waiting for the main loop to be freed up, wait on either

Mon Apr  7 13:40:28 2003  Owen Taylor  <otaylor@redhat.com>

        * glib/gmain.c (g_main_loop_run): When waiting for
        the main loop to be freed up, wait on either
        !loop->is_running or got_ownership, not both.
        (Caused gtk_dialog_run() not to work in other
        threads, reported by Jean-Yves Lefort)
This commit is contained in:
Owen Taylor 2003-04-07 17:50:53 +00:00 committed by Owen Taylor
parent 91da77c5b4
commit 5b4af3060f
7 changed files with 49 additions and 1 deletions

View File

@ -1,3 +1,11 @@
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (g_main_loop_run): When waiting for
the main loop to be freed up, wait on either
!loop->is_running or got_ownership, not both.
(Caused gtk_dialog_run() not to work in other
threads, reported by Jean-Yves Lefort)
2003-04-07 Matthias Clasen <maclas@gmx.de>
* glib/gutf8.c (g_utf8_strlen): Warn if p == NULL && max != 0.

View File

@ -1,3 +1,11 @@
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (g_main_loop_run): When waiting for
the main loop to be freed up, wait on either
!loop->is_running or got_ownership, not both.
(Caused gtk_dialog_run() not to work in other
threads, reported by Jean-Yves Lefort)
2003-04-07 Matthias Clasen <maclas@gmx.de>
* glib/gutf8.c (g_utf8_strlen): Warn if p == NULL && max != 0.

View File

@ -1,3 +1,11 @@
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (g_main_loop_run): When waiting for
the main loop to be freed up, wait on either
!loop->is_running or got_ownership, not both.
(Caused gtk_dialog_run() not to work in other
threads, reported by Jean-Yves Lefort)
2003-04-07 Matthias Clasen <maclas@gmx.de>
* glib/gutf8.c (g_utf8_strlen): Warn if p == NULL && max != 0.

View File

@ -1,3 +1,11 @@
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (g_main_loop_run): When waiting for
the main loop to be freed up, wait on either
!loop->is_running or got_ownership, not both.
(Caused gtk_dialog_run() not to work in other
threads, reported by Jean-Yves Lefort)
2003-04-07 Matthias Clasen <maclas@gmx.de>
* glib/gutf8.c (g_utf8_strlen): Warn if p == NULL && max != 0.

View File

@ -1,3 +1,11 @@
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (g_main_loop_run): When waiting for
the main loop to be freed up, wait on either
!loop->is_running or got_ownership, not both.
(Caused gtk_dialog_run() not to work in other
threads, reported by Jean-Yves Lefort)
2003-04-07 Matthias Clasen <maclas@gmx.de>
* glib/gutf8.c (g_utf8_strlen): Warn if p == NULL && max != 0.

View File

@ -1,3 +1,11 @@
Mon Apr 7 13:40:28 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (g_main_loop_run): When waiting for
the main loop to be freed up, wait on either
!loop->is_running or got_ownership, not both.
(Caused gtk_dialog_run() not to work in other
threads, reported by Jean-Yves Lefort)
2003-04-07 Matthias Clasen <maclas@gmx.de>
* glib/gutf8.c (g_utf8_strlen): Warn if p == NULL && max != 0.

View File

@ -2466,7 +2466,7 @@ g_main_loop_run (GMainLoop *loop)
if (!loop->context->cond)
loop->context->cond = g_cond_new ();
while (loop->is_running || !got_ownership)
while (loop->is_running && !got_ownership)
got_ownership = g_main_context_wait (loop->context,
loop->context->cond,
g_static_mutex_get_mutex (&loop->context->mutex));