[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 3493] Re: Daniel7.



  こんばんは、川合です。


Guripon さんは 2002/03/25 19:58:34 の「[OSASK 3492] Re: Daniel7.
」で書きました:

>今度は早めに申告します。デバッグ用かと思ってました(^^;

  よろしくお願いします。

>そういえば再現性のないバグなんですけど、
>Daniel5でteditをInsモードに切り替えてがちゃがちゃしてると
>Int 0x0Dが出ました。その後は何やっても出なかったんですが。

  それはどのteditcでしょうか?最新版はteditc1aです([OSASK 3431]
)。それにしても再現しないのは残念です。再現条件が分かれば、Dani
el7で直ったのか、それともそのままなのかも分かるのですが・・・。

>あと、バグじゃないけど気になる点をひとつ。
>loadfacをたくさん起動して、マウスでつついたりすると、
>全タスクの画面更新が行われるようですが何ですかこれ。
>アプリ側の問題でしょうか。

  いえいえ、これは問題でもなんでもなく、致し方ない仕様なのです。
理由は以下の通りです。

  マウスのつつきかたには2つあります。1つはアクティブにするだけの
ものです(これは非アクティブなウィンドウをクリックした際に該当)
。もう1つは、ウィンドウを移動するためのものです(これはアクティ
ブになっているときにウィンドウタイトル部分をクリックした場合に相
当)。

  現在のOSASKでは、ウィンドウ移動の際に、すべてのタスクの画面書
き換えが一時的に凍結されます(この辺はWin95と同じです)。移動が
完了して、移動先が確定するとこの画面書き換えの凍結は解除されます
。・・・このとき、凍結中に起きた書き換えは画面に反映されていない
可能性があります。そのため、「ウィンドウの再描画」という指示がす
べてのウィンドウに出され、ご覧のような動作になっています。

  これを克服するには、以下のいずれかを達成する必要があります(複
数でも構わないですが)。

1.ウィンドウ移動中でも書き換えを凍結しないですむような仕組みに
    変える。

2.凍結中に変化が無ければ、再描画に応じないで済むようにアルゴリ
    ズムを高度化する。

3.再描画の際に、何も一度消去してから書き直すようなアルゴリズム
    を使わない。

  一応、どの路線に変更することも可能にはしてありますが、実装する
暇が無く現状のままずっときています。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/