From bbf7c49ff2e37dd206d0461ec3fac6f2bc394e12 Mon Sep 17 00:00:00 2001 From: Peter Hofmann Date: Sun, 15 Jun 2014 06:01:58 +0200 Subject: Deal with embedding failures Now, that's a real issue. :-) --- zea.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/zea.c b/zea.c index 6ffe994..845b37e 100644 --- a/zea.c +++ b/zea.c @@ -223,15 +223,22 @@ zea_new_client(const gchar *uri) exit(EXIT_FAILURE); } - if (embed == 0) - { - c->win = gtk_window_new(GTK_WINDOW_TOPLEVEL); - } - else + c->win = NULL; + if (embed != 0) { c->win = gtk_plug_new(embed); + if (!gtk_plug_get_embedded(GTK_PLUG(c->win))) + { + fprintf(stderr, "zea: Can't plug-in to XID %ld.\n", embed); + gtk_widget_destroy(c->win); + c->win = NULL; + embed = 0; + } } + if (c->win == NULL) + c->win = gtk_window_new(GTK_WINDOW_TOPLEVEL); + /* When using Gtk2, zea only shows a white area when run in * suckless' tabbed. It appears we need to set a default window size * for this to work. This is not needed when using Gtk3. */ -- cgit v1.2.3