On Thu, Nov 4, 2010 at 9:44 AM, Andy Bell <[email protected]> wrote:
> On Wed, Nov 3, 2010 at 11:46 PM, Lex Trotman <[email protected]> wrote: > >> On 3 November 2010 21:19, Andy Bell <[email protected]> wrote: >> > Hi All, >> > >> > I am having trouble with setting an image to the clipboard. >> > >> > I receive image data which I write out to disk and then create a >> GdkPixbuf >> > from that, which I then store to the clipboard. >> > >> > My code is as follows: >> > >> > GError * error = NULL; >> > GdkPixbuf * pixbuf = gdk_pixbuf_new_from_file( "/tmp/test.jpg", &error >> ); >> > if ( pixbuf != NULL && error == NULL ) >> > { >> > gtk_clipboard_set_image( gtk_clipboard_get( GDK_SELECTION_CLIPBOARD >> ), >> > pixbuf ); >> > gtk_clipboard_store( gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ) ); >> > gdk_pixbuf_unref( pixbuf ); >> > } >> > unlink( "/tmp/test.jpg" ); >> > >> > I don't get any errors, but when I come to try to paste it I have >> nothing on >> > the clipboard. For example, opening OpenOffice, I would like to paste >> the >> > image but nothing happens, nor in GIMP. I am using Ubuntu 10.4. >> >> I guess its too obvious to say that the pixbuf_new_from_file failed, >> but did you check with a debugger or try adding an "else rude message" >> clause?. >> >> > It works, I even check it with gtk_clipboard_wait_is_image_available and > that returns true! When I come back to get the image from the clipboard in > the same application on an event using gtk_clipboard_wait_is_image_available > it returns false. Does the image have a life span or something? Does it > need to remain referenced in the application? > > Thanks, Andy > I have renamed the subject as I think this has something to do with threads. I am calling my copy and paste methods from a different thread to the main thread, I am using gdk_threads_enter() and gdk_threads_leave() in each method. Could this be the reason why this isn't working? Thanks, Andy
_______________________________________________ gtk-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtk-list
