Do not core dump when destroying a non-fucntional "wlmessage"
authorManuel Bachmann <manuel.bachmann@open.eurogiciel.org>
Thu, 5 Jun 2014 07:53:57 +0000 (09:53 +0200)
committerManuel Bachmann <manuel.bachmann@open.eurogiciel.org>
Thu, 5 Jun 2014 07:53:57 +0000 (09:53 +0200)
If libwlmessage cannot run because a Wayland compositor has not been
found, and so the message window has not been completely initialized,
destroy it safely.

Change-Id: Iecf9ee0ba3c860ea9961b0b80cf2c3ceb007f5bf
Signed-off-by: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org>
libwlmessage.c

index d95bbda..d2f0bde 100644 (file)
@@ -1093,10 +1093,14 @@ wlmessage_destroy (struct wlmessage *wlmessage)
                cairo_surface_destroy (message_window->surface);
        if (message_window->icon)
                cairo_surface_destroy (message_window->icon);
-       widget_destroy (message_window->widget);
-       window_destroy (message_window->window);
-       free (message_window->title);
-       free (message_window->message);
+       if (message_window->widget)
+               widget_destroy (message_window->widget);
+       if (message_window->window)
+               window_destroy (message_window->window);
+       if (message_window->title)
+               free (message_window->title);
+       if (message_window->message)
+               free (message_window->message);
        free (message_window);
 
        free (wlmessage);