From c60be515e856fdbb246cb3081b034f08530d57b5 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 18 Sep 2012 04:36:01 +0000 Subject: [PATCH] fix e_exec crash ticket #1525 SVN revision: 76778 --- src/bin/e_exec.c | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/src/bin/e_exec.c b/src/bin/e_exec.c index 2f9b1462b..c48fbbe47 100644 --- a/src/bin/e_exec.c +++ b/src/bin/e_exec.c @@ -103,25 +103,28 @@ e_exec(E_Zone *zone, Efreet_Desktop *desktop, const char *exec, if ((!desktop) && (!exec)) return NULL; - single = eina_hash_find(desktop->x, "X-Enlightenment-Single-Instance"); - if (single) + if (desktop) { - if ((!strcasecmp(single, "true")) || - (!strcasecmp(single, "yes"))|| - (!strcasecmp(single, "1"))) + single = eina_hash_find(desktop->x, "X-Enlightenment-Single-Instance"); + if (single) { - Eina_List *l; - E_Border *bd; - - EINA_LIST_FOREACH(e_border_client_list(), l, bd) + if ((!strcasecmp(single, "true")) || + (!strcasecmp(single, "yes"))|| + (!strcasecmp(single, "1"))) { - if (bd->desktop == desktop) + Eina_List *l; + E_Border *bd; + + EINA_LIST_FOREACH(e_border_client_list(), l, bd) { - if (bd) + if (bd->desktop == desktop) { - if (!bd->focused) e_border_activate(bd, EINA_TRUE); - else e_border_raise(bd); - return NULL; + if (bd) + { + if (!bd->focused) e_border_activate(bd, EINA_TRUE); + else e_border_raise(bd); + return NULL; + } } } }