[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mgp-users-jp 00368] Re: Problem:irix



> #X のクライアントにけっこうありがちなんですが…
> MagicPoint のソース中に、
> display の depth が 8の倍数であることを仮定している箇所など
> ありませんでしょうか?

以前にもそんな話があったと思って、今見たら draw.c に
	/*XXX "depth" is wrong - mgp-users-jp 135*/
と書いてあります。[mgp-users-jp 00135] も首藤さんでしたね。

なんで直ってないのかな。私がサボってるだけか。

ただ、

>   ((depth - 1) >> 3 + 1) << 3

これだと (かっこが足りないのはいいとして) 24 のときに 32 になって
くれなさそうなので、
	8 << (depth - 1) / 8
ということではどうでしょう。

尾上
*** draw.c.bak	Thu Dec 17 09:22:44 1998
--- draw.c	Thu Dec 17 09:37:44 1998
***************
*** 1631,1640 ****
  #endif /* FREETYPE */
  	}
  	if (obj != NULL) {	/* VFONT exist */
- 		/*XXX "depth" is wrong - mgp-users-jp 135*/
  		xim = XCreateImage(display, visual, depth, ZPixmap,
  				0, NULL, width, height,
! 				depth == 24 ? 32 : depth, 0);
  		xim->data = malloc(xim->bytes_per_line * height);
  		if (COMPLEX_BGIMAGE) {
  			u_int bw, bh, bx, by, ox, oy;
--- 1631,1639 ----
  #endif /* FREETYPE */
  	}
  	if (obj != NULL) {	/* VFONT exist */
  		xim = XCreateImage(display, visual, depth, ZPixmap,
  				0, NULL, width, height,
! 				8 << (depth - 1) / 8, 0);
  		xim->data = malloc(xim->bytes_per_line * height);
  		if (COMPLEX_BGIMAGE) {
  			u_int bw, bh, bx, by, ox, oy;