From b5b1d3fc1a73e857be5cb0b983b909fb068b462d Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Fri, 2 Jul 2010 13:47:31 +0000 Subject: [PATCH] * e: don't crash to easily when Ecore_Evas windows can't be created. SVN revision: 49996 --- src/bin/e_canvas.c | 2 ++ src/bin/e_popup.c | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/src/bin/e_canvas.c b/src/bin/e_canvas.c index 6ecd0a4f5..d734ba10c 100644 --- a/src/bin/e_canvas.c +++ b/src/bin/e_canvas.c @@ -228,6 +228,8 @@ e_canvas_new(int engine_hint, Ecore_X_Window win, int x, int y, int w, int h, if (direct_resize) ecore_evas_software_x11_direct_resize_set(ee, 1); if (win_ret) *win_ret = ecore_evas_software_x11_window_get(ee); } + else + EINA_LOG_ERR("Impossible to build any Ecore_Evas window !!"); } return ee; } diff --git a/src/bin/e_popup.c b/src/bin/e_popup.c index c11317980..8eef9e667 100644 --- a/src/bin/e_popup.c +++ b/src/bin/e_popup.c @@ -53,6 +53,11 @@ e_popup_new(E_Zone *zone, int x, int y, int w, int h) pop->ecore_evas = e_canvas_new(e_config->evas_engine_popups, pop->zone->container->win, pop->zone->x + pop->x, pop->zone->y + pop->y, pop->w, pop->h, 1, 1, &(pop->evas_win)); + if (!pop->ecore_evas) + { + free(pop); + return NULL; + } /* avoid excess exposes when shaped - set damage avoid to 1 */ // ecore_evas_avoid_damage_set(pop->ecore_evas, 1);