[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 メーリングリストの案内