From: <kt...@us...> - 2008-11-21 12:46:02
|
Revision: 3445 http://ruby-gnome2.svn.sourceforge.net/ruby-gnome2/?rev=3445&view=rev Author: ktou Date: 2008-11-21 12:45:59 +0000 (Fri, 21 Nov 2008) Log Message: ----------- * src/rbgtkselectiondata.c (rbgtk_atom2selectiondata): accept length for string type selection. [#2318481] gtkselectiondata_set Drag and Drop API problem Reported by dave foster. Thanks!!! Modified Paths: -------------- ruby-gnome2/trunk/gtk/ChangeLog ruby-gnome2/trunk/gtk/src/rbgtkselectiondata.c Modified: ruby-gnome2/trunk/gtk/ChangeLog =================================================================== --- ruby-gnome2/trunk/gtk/ChangeLog 2008-11-19 12:17:12 UTC (rev 3444) +++ ruby-gnome2/trunk/gtk/ChangeLog 2008-11-21 12:45:59 UTC (rev 3445) @@ -1,3 +1,10 @@ +2008-11-21 Kouhei Sutou <ko...@co...> + + * src/rbgtkselectiondata.c (rbgtk_atom2selectiondata): accept + length for string type selection. + [#2318481] gtkselectiondata_set Drag and Drop API problem + Reported by dave foster. Thanks!!! + 2008-11-19 Kouhei Sutou <ko...@co...> * test/test_gdk_display.rb Modified: ruby-gnome2/trunk/gtk/src/rbgtkselectiondata.c =================================================================== --- ruby-gnome2/trunk/gtk/src/rbgtkselectiondata.c 2008-11-19 12:17:12 UTC (rev 3444) +++ ruby-gnome2/trunk/gtk/src/rbgtkselectiondata.c 2008-11-21 12:45:59 UTC (rev 3445) @@ -34,8 +34,13 @@ len = 1; } else if(ntype == GDK_SELECTION_TYPE_STRING) { dat = RVAL2CSTR(src); - fmt = sizeof(char) * 8; - len = RSTRING_LEN(src); + if (NIL_P(size)) { + fmt = sizeof(char) * 8; + len = RSTRING_LEN(src); + } else { + len = NUM2UINT(size); + fmt = (RSTRING_LEN(src) / len) * 8; + } } else if(ntype == compound_text){ guchar* str = (guchar*)dat; gdk_string_to_compound_text(RVAL2CSTR(src), &ntype, &fmt, &str, &len); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |