From d4c9dd55e66a6f585e296da22879c1cf9e718820 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Fri, 15 Jan 2010 04:40:08 +0000 Subject: [PATCH] fix segv if no per-zeon-config found! SVN revision: 45158 --- src/modules/illume2/e_mod_config.c | 1 + src/modules/illume2/e_mod_main.c | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/modules/illume2/e_mod_config.c b/src/modules/illume2/e_mod_config.c index 193a249e8..4ec347526 100644 --- a/src/modules/illume2/e_mod_config.c +++ b/src/modules/illume2/e_mod_config.c @@ -236,4 +236,5 @@ e_illume_zone_config_get(int id) cz->mode.side = 0; il_cfg->policy.zones = eina_list_append(il_cfg->policy.zones, cz); e_mod_config_save(); + return cz; } diff --git a/src/modules/illume2/e_mod_main.c b/src/modules/illume2/e_mod_main.c index 5e3a5b0f7..9f3696620 100644 --- a/src/modules/illume2/e_mod_main.c +++ b/src/modules/illume2/e_mod_main.c @@ -90,16 +90,20 @@ e_modapi_init(E_Module *m) /* create a new quickpanel */ if (!(qp = e_quickpanel_new(zone))) continue; quickpanels = eina_list_append(quickpanels, qp); - + + mode = ECORE_X_ILLUME_MODE_SINGLE; cz = e_illume_zone_config_get(zone->id); - if (cz->mode.dual == 0) - mode = ECORE_X_ILLUME_MODE_SINGLE; - else + if (cz) { - if (cz->mode.side == 0) - mode = ECORE_X_ILLUME_MODE_DUAL_TOP; - else - mode = ECORE_X_ILLUME_MODE_DUAL_LEFT; + if (cz->mode.dual == 0) + mode = ECORE_X_ILLUME_MODE_SINGLE; + else + { + if (cz->mode.side == 0) + mode = ECORE_X_ILLUME_MODE_DUAL_TOP; + else + mode = ECORE_X_ILLUME_MODE_DUAL_LEFT; + } } ecore_x_e_illume_mode_set(zone->black_win, mode); zones[i++] = zone->black_win;