• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Japanese translation of message catalog for Sawfish Window-Manager


コミットメタ情報

リビジョン9dfc3ce68fc30bcaa9846cb53402193f925449c9 (tree)
日時2001-02-20 10:32:13
作者John Harper <jsh@src....>
コミッターJohn Harper

ログメッセージ

only do the reparenting if the window hasn't been destroyed

* windows.c (install_window_frame, remove_window_frame): only
do the reparenting if the window hasn't been destroyed

* stacking-list.c (restack_window): just return immediately if
the window has already been destroyed

変更サマリ

差分

--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -2,6 +2,12 @@
22
33 * version 0.37.3
44
5+ * windows.c (install_window_frame, remove_window_frame): only
6+ do the reparenting if the window hasn't been destroyed
7+
8+ * stacking-list.c (restack_window): just return immediately if
9+ the window has already been destroyed
10+
511 * stacking-list.c (window_in_stacking_list_p): new predicate,
612 used to replace the assert_window_[not_]in_stacking_list
713 functions (which have been deleted)
--- a/src/stacking-list.c
+++ b/src/stacking-list.c
@@ -178,27 +178,29 @@ stackable_window_id (Lisp_Window *w)
178178 void
179179 restack_window (Lisp_Window *w)
180180 {
181- XWindowChanges wc;
182- u_int mask = 0;
183-
184- assert (!WINDOW_IS_GONE_P (w));
185- assert (window_in_stacking_list_p (w));
186-
187- if (w->above != 0)
188- {
189- wc.stack_mode = Below;
190- wc.sibling = stackable_window_id (w->above);
191- mask = CWStackMode | CWSibling;
192- }
193- else if (w->below != 0)
181+ if (!WINDOW_IS_GONE_P (w))
194182 {
195- wc.stack_mode = Above;
196- wc.sibling = stackable_window_id (w->below);
197- mask = CWStackMode | CWSibling;
183+ XWindowChanges wc;
184+ u_int mask = 0;
185+
186+ assert (window_in_stacking_list_p (w));
187+
188+ if (w->above != 0)
189+ {
190+ wc.stack_mode = Below;
191+ wc.sibling = stackable_window_id (w->above);
192+ mask = CWStackMode | CWSibling;
193+ }
194+ else if (w->below != 0)
195+ {
196+ wc.stack_mode = Above;
197+ wc.sibling = stackable_window_id (w->below);
198+ mask = CWStackMode | CWSibling;
199+ }
200+
201+ if (mask != 0)
202+ XConfigureWindow (dpy, stackable_window_id (w), mask, &wc);
198203 }
199-
200- if (mask != 0)
201- XConfigureWindow (dpy, stackable_window_id (w), mask, &wc);
202204 }
203205
204206
--- a/src/windows.c
+++ b/src/windows.c
@@ -245,7 +245,7 @@ void
245245 install_window_frame (Lisp_Window *w)
246246 {
247247 DB(("install_window_frame (%s)\n", rep_STR(w->name)));
248- if (!w->reparented && w->frame != 0)
248+ if (!w->reparented && w->frame != 0 && !WINDOW_IS_GONE_P (w))
249249 {
250250 XSelectInput (dpy, w->frame, FRAME_EVENTS);
251251
@@ -269,7 +269,7 @@ void
269269 remove_window_frame (Lisp_Window *w)
270270 {
271271 DB(("remove_window_frame (%s)\n", rep_STR(w->name)));
272- if (w->reparented)
272+ if (w->reparented && !WINDOW_IS_GONE_P (w))
273273 {
274274 /* reparent the subwindow back to the root window */
275275