After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 666641 - a cage transform makes GIMP unresponsive
a cage transform makes GIMP unresponsive
Status: RESOLVED FIXED
Product: GIMP
Classification: Other
Component: User Interface
2.7.4
Other Windows
: Normal normal
: 2.8
Assigned To: GIMP Bugs
GIMP Bugs
Depends on:
Blocks:
 
 
Reported: 2011-12-21 08:43 UTC by Róman Joost
Modified: 2015-06-14 16:38 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Screenshot of Cage Transform Error (107.97 KB, image/pjpeg)
2013-10-08 22:03 UTC, Auru
Details

Description Róman Joost 2011-12-21 08:43:06 UTC
During a cage transform, the image window becomes unresponsive and the progress meter does not indicate anymore. The title says "GIMP-Not Responding". The transformation proceeds underneath, just the user will get no feedback and thinks the application crashed.

Steps:

1. Load a big image.
2. Create a big cage with more than 10 selection points. The remark is on processing time.
3. Once you close the cage - if the transform takes more than 10 seconds the image window "freezes".

Used the GIMP-win installers from 

http://sourceforge.net/projects/gimp-win/files/GIMP%20%2B%20GTK%2B%20%28development%20rel.%29/GIMP%202.7.4/
Comment 1 Michael Muré 2012-05-21 08:07:32 UTC
Hi,

Can you be more specific with - the image window "freezes"- ?

I tested  with a big image and a lot of points on linux, and I don't see anything special, except that it take a lot of time and memory, but that's normal.

Can you try again with the now released GIMP 2.8 ?
Comment 2 Dieter Verfaillie 2012-05-21 18:45:28 UTC
Confirmed on at least Windows 7. 32 or 64 bit-ness of both Windows
and GIMP doesn't seem to matter. Looks to me like GDK is no longer
getting the chance to process WM_UPDATE messages (or anything else
for that matter) for at least 5 seconds after which the DWM declares
the window to be "hung".

Are GIMP's tools (or at least the cage tranform tool) doing their
thing in the main thread?

One way to work around this issue could be to callDisableProcessWindowsGhosting
(http://msdn.microsoft.com/en-us/library/ms648415%28VS.85%29.aspx)
somewhere, but that would only hide the source of the problem and
most likely cause a bunch of harder to diagnose "GIMP doesn't
respond" bug reports...
Comment 3 GrafxUser 2012-07-10 17:42:29 UTC
This is a Windows-specific issue. Windows (sometimes) detects whether an application is not responding anymore and assumes it is dead, although it's still alive and executing a long-running task. Perhaps there's a way for GIMP to send an 'I'm-alive-'-event during processing?
Comment 4 dfj1esp02 2013-07-05 06:44:37 UTC
On Linux gimp UI is unresponsive too for the duration of operation. Linux just doesn't provide any visual indication of unresponsive application. Here is a screenshot, demonstrating, how gimp doesn't redraw its window, when e.g. you drag another window over it: http://i39.tinypic.com/2uszdag.png
UI elements don't respond to user interaction too as UI thread doesn't process the message queue.
To keep UI responsive an application should perform lengthy tasks in a background thread, posting progress events to the UI thread, which would dislpay the operation's progress. Though for this you will need a proper desing for UI behavior during lengthy task running in a background thread and for multithreaded access to the image.
Comment 5 Auru 2013-10-08 22:03:30 UTC
Created attachment 256769 [details]
Screenshot of Cage Transform Error
Comment 6 Auru 2013-10-08 22:09:10 UTC
After clicking to the beginning square, gimp 2.8.4 crashes.
Earlier version had the same error.
Without saving before all work has gone.
Comment 7 Michael Natterer 2013-10-09 00:02:50 UTC
That crash is unrelated and fixed in 2.8.6.
Comment 8 Michael Schumacher 2015-06-06 11:02:54 UTC
Doe this still happen with 2.8.14?
Comment 9 Auru 2015-06-13 19:35:32 UTC
In 2.8.14 the funktion works fine. Thanks to the developers.
Comment 10 Michael Natterer 2015-06-14 16:38:35 UTC
Thanks for checking!