Bug 60496 - Gimp shows strange behaviour with cairo
Summary: Gimp shows strange behaviour with cairo
Alias: None
Product: cairo
Classification: Unclassified
Component: win32 backend (show other bugs)
Version: 1.12.12
Hardware: x86 (IA32) Windows (All)
: medium normal
Assignee: cairo-bugs mailing list
QA Contact: cairo-bugs mailing list
URL: https://bugzilla.gnome.org/show_bug.c...
Depends on:
Blocks: cairo-1.16
  Show dependency treegraph
Reported: 2013-02-08 14:33 UTC by Hartmut Kuhse
Modified: 2018-08-25 13:42 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

Behavior of cairo in gimp-IWarp (123.16 KB, image/jpeg)
2013-02-10 17:54 UTC, Hartmut Kuhse

Description Hartmut Kuhse 2013-02-08 14:33:33 UTC
I compiled Gimp-2.8.5 from the latest git-source.
I also compiled cairo 1.12.12 from git.
Mingw32 4.6.1
Windows Vista 32bit
Gimp-2.8.5 32bit

There is a strange behaviour with gimp:

1. Using the plugin "IWarp" moving the curser to the upper part of the preview Image in order to move the pixels, it seems to copy the pixels from the lower egde of the image to the upper edge.

2. Using a tablet pen (Aiptek media tablet), the pen is incredibly slow.

I tried some compilations from the internet and they all show the same behaviour.

I compiled cairo-1.11.2 and with this version it is all okay. None of the above behaviours appear.
cairo-1.11.4 doesn't work at all.
From cairo-1.12.0 on, it shows the described things.
I use cairo-1.11.2 for my gimp now but unfortunately the new gimp-2.10 will use at least cairo-1.12.2.
Comment 1 Chris Wilson 2013-02-10 13:43:59 UTC
Is it possible for you to reproduce the slow pen behaviour without having access to the hardware? Can you check with 1.12.14 to see if fixing the check for AlphaBlend() helps?
Comment 2 Hartmut Kuhse 2013-02-10 17:54:25 UTC
Created attachment 74558 [details]
Behavior of cairo in gimp-IWarp
Comment 3 Hartmut Kuhse 2013-02-10 17:55:11 UTC
No, version 1.12.14(15) doesn't solve the problem. The behaviour is the same.
I don't know, what you mean by reproducing the slow pen without having access to the hardware? What hardware? The behaviour exists only with the pen. The mouse is moving/painting as fast as ever.
The other problem is shown in the attachment.
Comment 4 Hartmut Kuhse 2013-06-30 16:33:24 UTC
I compiled 
pixman 1.31.1
cairo 1.12.15
all packages latest git-source.
The slowlyness with a pen with gimp is still there.
I made two videos that describes ist better:
This one with 
cairo 1.11.2
pixman 1.31.1


The behaviour is pretty good. The drawing follows the cursor.

This one with 
cairo 1.12.15
pixman 1.31.1


The drawing cannot follow the cursor and makes somewhat 'jumps' to follow faster.

That only happens with a pen. The speed with the mouse is as good as with cairo 1.11.2.
The change is with 1.12.0, the version 1.11.2 is the last usable version for windows (1.11.4 crashes immediately)
Comment 5 Bryce Harrington 2014-09-22 19:21:40 UTC
Moving from 1.14 tracker to 1.16 tracker
Comment 6 Bryce Harrington 2014-09-22 20:30:03 UTC
Do you have --enable-xlib-xcb in your config?  If so, that may be the cause of at least the first part of this bug.
Comment 7 Michael Henning 2015-08-13 16:42:06 UTC
I just fixed this bug in gimp ( https://bugzilla.gnome.org/show_bug.cgi?id=736411 ). It turns out that we were effectively redrawing one of our widgets (the rulers on the side of the canvas) inside of a mouse event handler, which is a bad thing to do. Simply doing the drawing in gtk's expose handler, like we were supposed to, fixed it.

Our old code was apparently more performant on cairo versions before 1.12 than on 1.12, but I wouldn't be too concerned about that since what we were doing was wrong anyway. If anyone does want to investigate what changed in cairo, then I'm willing to help, but this bug should probably just be closed as a bug in gimp, not in cairo.
Comment 8 GitLab Migration User 2018-08-25 13:42:42 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/cairo/cairo/issues/154.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.