Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/ev-application.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/shell/ev-application.c b/shell/ev-application.c
index ed4fb19..45dd9cd 100644
--- a/shell/ev-application.c
+++ b/shell/ev-application.c
@@ -1036,10 +1036,17 @@ ev_application_get_dbus_connection (EvApplication *application)
gboolean
ev_application_has_window (EvApplication *application)
{
- GList *windows = ev_application_get_windows (application);
- gboolean retval = windows != NULL;
+ GList *l, *toplevels;
+ gboolean retval = FALSE;
- g_list_free (windows);
+ toplevels = gtk_window_list_toplevels ();
+
+ for (l = toplevels; l != NULL && !retval; l = l->next) {
+ if (EV_IS_WINDOW (l->data))
+ retval = TRUE;
+ }
+
+ g_list_free (toplevels);
return retval;
}