[osask 6757] Re: osat43c.

  こんにちは、川合です。


I.Tak. さんは 2003/12/09 11:40:12 の「[osask 6755] Re: osat43c.
」で書きました:

(マウス対応teditc02でテキストボックスが表示されなくなる件)
> 追試したところ、
>    1)TRIANG2.BINを起動 (真ん中に表示される)
>    2)!GUIDE!.TXTを開く (↑の上に重なる)
>    3)teditc2のタイトルが表示されない
>    4)そのウィンドウを移動するとテキストボックスが消える
>という現象が osat43a, ostw43c の両方で (TOWNSでは互換モードでも)
>発生しました。ウィンドウをリサイズして開き直したときも同様の罠に
>はまります。

  ご報告ありがとうございます。一発で再現できました。

  一度再現できてしまうと、どうしてこんな簡単な条件を発見できなか
ったのかと、我ながら情けないです。

> beditcではこの問題は起きませんでした。
> drawcomponentに渡すパラメータで強制描画ビットが立ってないんだと
>思いますが、再描画シグナルの処理 (ウィンドウそのものは描画されて
>いる) である以上そのビットは必ず立てているはずで不思議です。
>ってsrc43aのその部分はまだ確認してないんですけどね。

  少しだけ調べました。強制描画bitは問題無く機能しているようです
。どうもおかしいのは、コンポーネントチェーンのようです。問題無く
tedm12kが走っているときの総コンポーネント数は4なのですが、おかし
くなっているときの総コンポーネント数は1になっています。この1とい
うのは、テキスト本文が表示されるときもされないときも同じです。

  さらに追試したところ、発生条件はもっと明確に定義できそうです。

・OpenWindow時に、何らかのウィンドウと重なる必要があって、さらに
  それは相手を選ぶ。

  この状態になると、コンポーネント数は1になります。生き残ってい
るコンポーネントはテキスト本文を表示するためのウィンドウだけの
ようです。たとえ一度おかしくなっても、Ctrl+Sでリサイズするとき
に上記の問題が解決されていれば、コンポーネント数は4にもどり正常
になります。

  なんで状況によってコンポーネント数が変化するのかは調査中です。

---

  別件ですが、tedm12kは、ウィンドウサイズを変更すると、スクロー
ルバーの表示がおかしくなるようです(これは上記の問題が発生してい
なくても、発生する問題)。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/



ML番号でジャンプ
ML単語検索