717kis00022yav 1994/12/26 05:39:08 前へ 後へ 上へ

xkiss v2.00 BUG info.


maiks.lzh - 不知火舞着せ替えセット(GS2)
を xkissで見ようとしたら,
>X Error of failed request:  BadAlloc (insufficient resources for operation)
>  Major opcode of failed request:  53 (X_CreatePixmap)
>  Serial number of failed request:  788
>  Current serial number in output stream:  814
とおこられてしまいました.

で調べてみて,
セルの有効サイズの算出がちょっとマズくてぜんぶ透明なセルの場合に
マイナスのpixmapをアロケートしてしまうというBUGを発見しました.
私は,とりあえず次のように修正して使ってます.

-------- from here
*** 1.1	1994/12/25 15:49:01
--- xkiss.c	1994/12/25 15:50:05
***************
*** 373,379 ****
  	}
      }
  
!     for (flag=0,sy=0;sy<ys;sy++) {
  	for (x=0;x<xs;x++) 
  	    if (*(tmp_buf+xs*sy+x)) {
  		flag=1;
--- 373,379 ----
  	}
      }
  
!     for (flag=0,sy=0;sy<ys-1;sy++) {
  	for (x=0;x<xs;x++) 
  	    if (*(tmp_buf+xs*sy+x)) {
  		flag=1;
***************
*** 382,388 ****
  	if (flag==1) break;
      } 
  
!     for (flag=0,ey=ys-1;ey>=0;ey--) {
  	for (x=0;x<xs;x++) 	
  	    if (*(tmp_buf+xs*ey+x)) {
  		flag=1;
--- 382,388 ----
  	if (flag==1) break;
      } 
  
!     for (flag=0,ey=ys-1;ey>0;ey--) {
  	for (x=0;x<xs;x++) 	
  	    if (*(tmp_buf+xs*ey+x)) {
  		flag=1;
***************
*** 391,397 ****
  	if (flag==1) break;
      } 
  
!     for (flag=0,sx=0;sx<xs;sx++) {
  	for (y=0;y<ys;y++) 
  	    if (*(tmp_buf+xs*y+sx)) {
  		flag=1;
--- 391,397 ----
  	if (flag==1) break;
      } 
  
!     for (flag=0,sx=0;sx<xs-1;sx++) {
  	for (y=0;y<ys;y++) 
  	    if (*(tmp_buf+xs*y+sx)) {
  		flag=1;
***************
*** 400,406 ****
  	if (flag==1) break;
      } 
  
!     for (flag=0,ex=xs-1;ex>=0;ex--) {
  	for (y=0;y<ys;y++) 
  	    if (*(tmp_buf+xs*y+ex)) {
  		flag=1;
--- 400,406 ----
  	if (flag==1) break;
      } 
  
!     for (flag=0,ex=xs-1;ex>0;ex--) {
  	for (y=0;y<ys;y++) 
  	    if (*(tmp_buf+xs*y+ex)) {
  		flag=1;
-------- to here

でーてーさん,次のリリースのときにでも修正お願いいたします.
とりいそぎ,ご報告でしたっ!

                                UHD98984@pcvan.or.jp
                                                yav
..

前へ 後へ 上へ