2007年04月21日
川俣晶の縁側ソフトウェアその他開発日誌total 1957 count

aimemon Version 0.5・リモデス接続を繰り返すと起こる問題を解消

Written By: 川俣 晶連絡先

 超難物だったaimemonのバグがやっと取れました。

 以下、修正点を説明します。

ウィンドウが不可視ならオフ扱いにする §

 見えないウィンドウがアクティブになっているケースがあります。

 このとき、見えないウィンドウに枠線を付けていました。

 そこで、見えない場合は対象外とするようにしてみました。(が、どこまで有効かは様子を見ないと分からない)

リモデス接続を繰り返すとタスクバーに名前が出たり、リージョンが不正になる問題 §

 リモデス(リモートデスクトップ)接続を繰り返すと、タスクバーにaimemonの名前が出るケースがありました。また、ウィンドウのリージョンが不正になって、ウィンドウが何も見えなくなったりするケースもありました。

 これらの問題を解消しました。

 以下は技術的な説明です。

 このバグの原因を調べるのに時間を食ってしまいましたが、結論はシンプルで、破棄してはいけないリージョンの破棄が原因でした。SetWindowRgn APIで設定したリージョンハンドルは破棄してはならないにも関わらず破棄していました。そういうコードをわざわざ追加していた理由は、リージョンの合成処理で使った一時的なリージョンを破棄していないことに気付いたためです。aimemonの初期バージョンでは、リージョンの作成は初期化とモニタサイズ変更の場合だけだったので致命的ではありませんでしたが、モニタ枠以外に枠を付けると頻繁にリージョン再作成が発生し、リソースを食いつぶす恐れがあったのです。そこで、きちんとリージョンを破棄するコードを書いてみたわけですが、そこで、勢い余って破棄してはいけないリージョンまで破棄してしまったわけです。

 蓋を開けてみれば、なんてことはないシンプルなミスでしたね。

Facebook

キーワード【 川俣晶の縁側ソフトウェアその他開発日誌
【その他開発日誌】の次のコンテンツ
2007年
05月
01日
aimemon Version 0.6・枠が残る等の問題を解消
3days 0 count
total 7837 count
【その他開発日誌】の前のコンテンツ
2007年
04月
04日
X01HT対応完了・ワンべぇWM: A Tiny BASIC for Windows Mobile 5.0 Version 0.03
3days 0 count
total 2220 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

https://mag.autumn.org/tb.aspx/20070421143115
サイトの表紙【その他開発日誌】の表紙【その他開発日誌】のコンテンツ全リスト 【その他開発日誌】の入手全リスト 【その他開発日誌】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.