[Squeak-ja: 4446] Re: drawOn中のエラーについて
Yoshiki Ohshima
yoshiki @ vpri.org
2010年 3月 23日 (火) 04:01:00 JST
At Mon, 22 Mar 2010 23:19:20 +0900,
Eiichiro Ito wrote:
>
> 山梨学院大学の伊藤です。
>
> いつも質問ばかりですみません。
いえいえ、なにをおっしゃいますやら。
> PluggableTextMorphを使ってコンソール(あるいはTranscript)のようなモーフを
> 作っています。テキスト入力のたびに、入力文字列を追加するようにしています。
> たいがいうまくいくのですが、何度か(数回〜十数回)入力しているうちにエラー
> が発生して、モーフが赤く塗りつぶされた×印となってしまいます。
>
> エラーの発生するタイミングは不定期ですが、いつもエラー内容は同じようです。
> MultiNewParagraph(NewParagraph)のfastFindFirstLineSuchThat: lineBlock
> でインスタンス変数linesにsizeを送った時点で、sizeのレシーバがnilだといって
> エラーになるのですが、デバッガで調べてもちゃんと値は入っているし、インス
> ペクタ上でsizeを送ってもきちんと値が出ます。
>
> Mantisでは過去のsqueakのバージョンで同様のエラーが出た指摘があるのですが、
> 特にその後フォローされていないようです。(し、同じものかもわかりません)
>
> どなたか回避策をお持ちの方はいらっしゃいませんでしょうか。
> また、赤いエラー画面を解除する方法ってないのでしょうか。
このエラーは、Processを使っていたりして、Morphicの通常のサイクルとは
独立して描画要求が起こったときに出るものだと思います。そのMorphへの更新
要求をしているところを、直接行うのではなく#addDeferredUIMessage:経由で
行うと直るかもしれません。
赤いエラー画面は、ハロのデバッグメニューから"start drawing again"を
選ぶと解除できます。
-- Yoshiki
Squeak-ja メーリングリストの案内