[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/>