あまつぶ

11.19 【お詫び】

 Phutの1.15b2から追加した「Palette Checker」について。パレットを正しく修正できない、あるいは逆にパレットを破壊してしまう可能性があるバグが見つかった。βバージョンとはいえとんでもないミスでご迷惑をおかけして申し訳ない。新しいバージョンの1.15b4では大丈夫なはずだが、やはり念のためにバックアップをとってから実行してほしい。正式バージョンではPalette Checkerの機能をPhutに取り込んでパレットを開いた時に修正するかどうかを確認してその場で修正できるようにするつもりだが、その際には自動的にバックアップを作成するべきかな。
 Phutのパレット読み込みルーチンにもバグがあった。どういうわけかパレットの範囲外のデータが残ってしまっているということがあるらしく、存在しないセルのデータを調べにいったところで問題が起きていた。どういう状況でこういうことが起こるのかわからないが、パレットに思いつくかぎりのことをやってみても再現しなかった。例によってしょうもない勘違いで発生しているのかも知れないが……。
 しかし、こういう動作自体にはほとんど影響しない問題というのはいつおかしくなっているのかがわからないからややこしい。やはりもう一度ソースの細部まで一通りチェックしてみないといけないのかな。もう何度目だろ……、うう。
 ランチャって基本的に常用するものだからこういうトラブルは本当に困りものだ。自分でいうのもなんだが、こんなに問題続きでは「他をあたろう」という気持ちになってしまう。それでも使い続けてバグの報告をしていただいて本当にありがたいし、また、本当に申し訳ないと思う。

 11.6に書いたIconPartyのバグについて。倍率が変更できなくなる問題はうちでも再現し、解決。正確には、「画面をスクロールさせている時」の症状だった。メモリが足りないといわれる問題は0.95b7で修正できていたようだ。
 ほかはまだちょっとわからないが、ルーラの問題はほぼ修正できた。ことえりのパレットなどがペイントウィンドウに重なっていた場合におかしくなることがあるけどこのくらいなら許容範囲かなと。ことえりのパレットといえばパレット上にマウスカーソルがある場合のマウスカーソル更新処理がおかしいという問題も発見し、これも修正。こういうフローティングパレットはFindWindow()では見つからず、代わりにFindServiceWindow()を呼んでやらないといけないようだ。呼ぶ前にはGestalt()でText Services Managerが使用可能かどうか(gestaltTSMgrVersion)をチェックと。

 そういえばIconParty 1.0b4をアップしたらDownload ASCIIからメールが来てちゃんと更新されているみたいだった。ということは別に報告しなくても更新してくれるということなのかな? 謎や。

 で、今日のToolbox。前回は11.16。自分でフローティングパレットを作るのでなければあまり使わないと思うけど、マウスカーソルの更新だとか、本当に自分のウィンドウ上にマウスカーソルがあるのかを調べるのには使うと思う。

pascal short	FindServiceWindow(Point thePoint,WindowPtr *theWindow);
ことえりの操作パレットなど、TSMを使用したウィンドウを調べる。
それ以外はFindWindow()と全く同じ。
返り値	FindWindow()と同じパートコード。
thePoint	調べたい座標(グローバル座標)。
theWindow	その位置に存在するウィンドウ。
#include	<TextServices.h>


to November 16, 1999 ↑ to November index → to November 24, 1999