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(obt_display, self->bg); XDestroyWindow(obt_display, self->text); RrAppearanceFree(self->a_bg); RrAppearanceFree(self->a_text); window_remove(self->bg); stacking_remove(self); g_slice_free(ObPopup, self); } }
void pager_popup_free(ObPagerPopup *self) { if (self) { guint i; for (i = 0; i < self->desks; ++i) XDestroyWindow(obt_display, self->wins[i]); g_free(self->wins); RrAppearanceFree(self->hilight); RrAppearanceFree(self->unhilight); popup_free(self->popup); g_slice_free(ObPagerPopup, self); } }
void menu_frame_shutdown(gboolean reconfig) { RrAppearanceFree(a_sep); if (reconfig) return; client_remove_destroy_notify(client_dest); g_hash_table_destroy(menu_frame_map); }
void icon_popup_free(ObIconPopup *self) { if (self) { XDestroyWindow(obt_display, self->icon); RrAppearanceFree(self->a_icon); popup_free(self->popup); g_slice_free(ObIconPopup, self); } }
void prompt_shutdown(gboolean reconfig) { GList *it; if (!reconfig) { for (it = prompt_list; it; it = g_list_next(it)) { ObPrompt *p = it->data; if (p->cleanup) p->cleanup(p, p->data); } g_assert(prompt_list == NULL); } RrAppearanceFree(prompt_a_button); RrAppearanceFree(prompt_a_focus); RrAppearanceFree(prompt_a_press); RrAppearanceFree(prompt_a_pfocus); RrAppearanceFree(prompt_a_msg); }
void menu_frame_free(ObMenuFrame *self) { if (self) { while (self->entries) { menu_entry_frame_free(self->entries->data); self->entries = g_list_delete_link(self->entries, self->entries); } stacking_remove(MENUFRAME_AS_WINDOW(self)); window_remove(self->window); RrAppearanceFree(self->a_items); XDestroyWindow(obt_display, self->window); g_slice_free(ObMenuFrame, self); } }