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

Reply via email to