[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][TOP]
Re: [gnome] Re: 文字化け on gnome-1.0.50
> > > gtk+-1.2.5関連ではもう一つ、gnome-utils-1.0.12に入っているgunameの
> > > 画面表示がおかしいようです。windowの拡大と縮小を高速で交互に行って
> これの解決方法がどこかにあがっていますでしょうか?
> こちらの環境でもチカチカしているので、探ったところ、
> mini-utils/guname/list.c の fill_clist ()の中の
> gtk_widget_set_usize(GTK_WIDGET(list), col_zero_width+col_one_width + 30,
> 200);
> この 200 ってのがひっかかっていました。試しに 300 に
> すると OK でした。表示する行数と高さがちょうどアレで
> ひっかるのでしょうか?
西さんの報告を元に調べてみました。スクロールバーが表示されるかどうか
の境界条件で発生するようです。コードを追いかけきれてませんが、
表示エリアが足りない→スクロールバー表示
→表示エリア拡大でスクロールバー不要→set_usize のサイズに戻る
の繰り返しみたいな挙動のようでした。そこで、
set_usize(GTK_WIDGET(list),..) ではなくfill_clist() 呼出しの後に
clist を子として持つ scrolled_window を set_usize(GTK_WIDGET(sw),..)
するようにした
環境によって発生条件の変わる恐れのある 200 や 300 という magic
number を避けるため、gtk_widget_size_request(GTK_WIDGET(list), ..)
の結果を元に計算した数値に置き換えた (スクロールバーなどの余裕をとる
ための30 という数値は残りますが)
というパッチ[*] を作って gnome-devel に送ってみたところ、先程 CVS 上の
gnome-utils commit されました。guname か gtk の bug だろうけど、という
ところのようです。
[*] … <URL:http://www.asahi-net.or.jp/~AE5T-KSN/gnome/guname.diff>
KUSANO Takayuki <URL:http://www.asahi-net.or.jp/~AE5T-KSN/>