void popup_free(ObPopup *self)
{
if (self) {
+ popup_hide(self); /* make sure it's not showing or is being delayed and
+ will be shown */
XDestroyWindow(ob_display, self->bg);
XDestroyWindow(ob_display, self->text);
RrAppearanceFree(self->a_bg);
event_end_ignore_all_enters(ignore_start);
} else if (self->delay_mapped) {
- ob_main_loop_timeout_remove(ob_main_loop, popup_show_timeout);
+ ob_main_loop_timeout_remove_data(ob_main_loop, popup_show_timeout, self, FALSE);
self->delay_mapped = FALSE;
}
}