fix segv: remove timer when popup is hidden/destroyed.
authorGustavo Sverzut Barbieri <barbieri@gmail.com>
Sun, 7 Jun 2009 02:02:54 +0000 (02:02 +0000)
committerGustavo Sverzut Barbieri <barbieri@gmail.com>
Sun, 7 Jun 2009 02:02:54 +0000 (02:02 +0000)
for quick commands (i call couple of short-named shell scripts) it was
easy to trigger the situation where timer expired after popup was gone
and E got a segv by accessing popup == NULL.

SVN revision: 40932

src/modules/everything/evry.c

index eab41b7..c5b72ba 100644 (file)
@@ -191,6 +191,12 @@ evry_hide(void)
 
    if (!popup) return;
 
+   if (update_timer)
+     {
+       ecore_timer_del(update_timer);
+       update_timer = NULL;
+     }
+
    evas_event_freeze(popup->evas);
    _evry_matches_clear();
    e_popup_hide(popup);