もぐてっく

人は1つ歳をとるたび、1ビットづつ大きくなれると信じてた。

Gdk::Property::changeのバグを修正する

Gdk::Property::changeでCARDINAL型の配列が設定できないバグを修正する。
ruby-gnome2-all-1.1.2が対象。


gtk2/ext/gtk2/rbgtkselectiondata.c

 57     } else if(type != Qnil && size != Qnil && src != Qnil) {
 58         dat = (void *)RVAL2CSTR(src);
 59         fmt = NUM2INT(size);
 60         /* 要素数を出すのに、配列長をなぜか要素のビット数で割ってるので、バイト数で割るようにする */
 61         len = ((RSTRING_LEN(src) * sizeof(char) * 8) / fmt);
 62     } else {


ユニットテストにはINTEGER型の要素数1の試験しかないから見逃された模様。