Code

Fixed bug with color drag-n-drop
authorjoncruz <joncruz@users.sourceforge.net>
Tue, 28 Feb 2006 09:07:11 +0000 (09:07 +0000)
committerjoncruz <joncruz@users.sourceforge.net>
Tue, 28 Feb 2006 09:07:11 +0000 (09:07 +0000)
ChangeLog
src/dialogs/swatches.cpp

index 13dd31e7b5fbab7bd0d2cbc1bd647a7fbbed99a2..2c35fb7ba6e48ca210e619db5a9917a43cb2afb6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-02-28  Jon A. Cruz  <jon@joncruz.org>
+       * src/dialogs/swatches.cpp:
+
+         Fixed drag-n-drop out of color to match GTK+ standard.
+       
 2006-02-27  Jon A. Cruz  <jon@joncruz.org>
        * src/dialogs/swatches.cpp, src/ui/previewfillable.h,
          src/ui/previewholder.h, src/ui/previewholder.cpp:
index 7da1b5694fa0bd1927674e3e68a1f3faf4ecc2d7..3063e22801072f21b48c4b646104bda4322653e8 100644 (file)
@@ -101,19 +101,15 @@ static void dragGetColorData( GtkWidget *widget,
         g_free(tmp);
         tmp = 0;
     } else {
-        guchar tmp[8];
-        tmp[0] = item->_r;
-        tmp[1] = item->_r;
-        tmp[2] = item->_g;
-        tmp[3] = item->_g;
-        tmp[4] = item->_b;
-        tmp[5] = item->_b;
-        tmp[6] = 0x0ff;
-        tmp[7] = 0x0ff;
+        guint16 tmp[4];
+        tmp[0] = (item->_r << 8) | item->_r;
+        tmp[1] = (item->_g << 8) | item->_g;
+        tmp[2] = (item->_b << 8) | item->_b;
+        tmp[3] = 0xffff;
         gtk_selection_data_set( data,
                                 typeXColor,
-                                8, // format
-                                tmp,
+                                16, // format
+                                reinterpret_cast<const guchar*>(tmp),
                                 (3+1) * 2);
     }
 }