Hiroyuki Ikezoe
poinc****@ikezo*****
2003年 9月 17日 (水) 18:04:17 JST
zoeです。 解決まではほど遠い状態ですが分かったことだけ書いておきます。 On Tue, 16 Sep 2003 20:55:56 +0900 Hiroyuki Ikezoe <poinc****@ikezo*****> wrote: > どうも、ボタンの色を赤(ロード中)から緑(通常)に戻すところが原因くさいんで > すが、解決法が見つかりません。問題の > gtk_image_set_from_pixmap(GTK_IMAGE(metamenu->image), > update_button_pixmap, > > update_button_mask); > この1文をコメントにすると正常にメニューが描画されるんでここが原因である > ことは間違いないと思うのですが…。 このupdate_buttonをクリックした時に、gtk内部にボタンの見た目をへこんだよう に見せる処理があるんですが、それと風博士側のボタンの色を変える処理が競合し ちゃってる感じです。 実際に、pthread_mutex_lockの代わりにgdk_threads_enterを使うと問題なく動作 します。これは、gtk内部と風博士で同じGMutexを使うようになるからだと思われま す。 じゃあ、gdk_thereads_enter使えばいいじゃんとなるところなんですが、実はこれ (正確にはgdk_threads_init) を使うとMozillaのBasic認証のwindowが閉じるときに 固まってしまうんです。gdk_threads_initではただたんに新しいGMutexオブジェク トを生成してるだけなんですが、なんで固まるのかわっぱり分かりません。。。