IT用語集 › プログラミング › DestroyNotify

DestroyNotify

プログラミング Svenska → 更新: 2026-10-22

ウィンドウが破棄されたときに配送されるX11のイベント。ウィンドウの生涯の反対側の端にあるのがCreateNotifyである。

XDestroyWindowはウィンドウ単体ではなくサブツリー全体を破棄し、DestroyNotifyは内側から外側へ、子が先、親が最後の順に配送される。ただし、明示的に破棄されるウィンドウはむしろ少数派だ。クライアントの接続が閉じると、サーバーはそのクライアントが作ったものをすべて片付け、同じイベントが送られる(クライアントがSetCloseDownModeで別の指定をしていなければ)。SubstructureNotifyMaskを持つ親は、子が作られるたびにCreateNotifyも受け取る。

ウィンドウマネージャーにとって、DestroyNotifyはクライアントの周りに作ったフレームを解体する合図である。タイミングが厄介で、イベントが届いた時点でウィンドウはすでに無く、それを参照する呼び出しはBadWindowを食らう。そのため、まさにこのエラーを黙って握りつぶすエラーハンドラは、ウィンドウマネージャーのコードではほぼ必須になる。クライアントは都合のいい時ではなく、好きな時に死ぬのだ。

← 用語集に戻る