finch/libgnt/gntwm.c

changeset 26654
8812a857eddd
parent 26651
d9f1eeefb89c
child 29236
a1582a87b6ce
equal deleted inserted replaced
26653:2f2941e08ca4 26654:8812a857eddd
1894 1894
1895 void gnt_wm_window_close(GntWM *wm, GntWidget *widget) 1895 void gnt_wm_window_close(GntWM *wm, GntWidget *widget)
1896 { 1896 {
1897 GntWS *s; 1897 GntWS *s;
1898 int pos; 1898 int pos;
1899 gboolean transient = !!GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_TRANSIENT);
1899 1900
1900 s = gnt_wm_widget_find_workspace(wm, widget); 1901 s = gnt_wm_widget_find_workspace(wm, widget);
1901 1902
1902 if (g_hash_table_lookup(wm->nodes, widget) == NULL) 1903 if (g_hash_table_lookup(wm->nodes, widget) == NULL)
1903 return; 1904 return;
1917 s->ordered = g_list_remove(s->ordered, widget); 1918 s->ordered = g_list_remove(s->ordered, widget);
1918 1919
1919 if (s->ordered && wm->cws == s) 1920 if (s->ordered && wm->cws == s)
1920 gnt_wm_raise_window(wm, s->ordered->data); 1921 gnt_wm_raise_window(wm, s->ordered->data);
1921 } 1922 }
1923 } else if (transient && wm->cws && wm->cws->ordered) {
1924 gnt_wm_update_window(wm, wm->cws->ordered->data);
1922 } 1925 }
1923 1926
1924 gnt_ws_draw_taskbar(wm->cws, FALSE); 1927 gnt_ws_draw_taskbar(wm->cws, FALSE);
1925 update_screen(wm); 1928 update_screen(wm);
1926 } 1929 }

mercurial