GNOME Bugzilla – Bug 666641
a cage transform makes GIMP unresponsive
Last modified: 2015-06-14 16:38:35 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/
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 ?
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...
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?
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.
Created attachment 256769 [details] Screenshot of Cage Transform Error
After clicking to the beginning square, gimp 2.8.4 crashes. Earlier version had the same error. Without saving before all work has gone.
That crash is unrelated and fixed in 2.8.6.
Doe this still happen with 2.8.14?
In 2.8.14 the funktion works fine. Thanks to the developers.
Thanks for checking!