GNOME Bugzilla – Bug 555738
Image display is wrong after undoing canvas size enlargement
Last modified: 2009-05-05 07:17:02 UTC
Instructions to reproduce: Open an image so that the window is larger than the image itself and there's some white border around it, then enlarge the canvas, then undo. The portion of the canvas outside the image is not deleted as it should. A window resize is sufficient to fix this. I'm on Ubuntu and I compiled 2.6.1 from sources. The bug was present on 2.6.0, too.
Hi and thanks for the bug report! I don't seem to be able to reproduce this. What version of GTK+ are you using?
Created attachment 120321 [details] configure log
I'm using the GTK cersion shipped with Ubuntu Hardy, i.e. 2.12.9 Compilation went smooth. I have attached my config.log file in case it might be useful.
Weird. I can confirm this behavior. Ubuntu 8.04, libgtk 2.12.9-3ubuntu4, current svn. The "box grid" denoting transparency hangs around when you 'undo' a canvas resize (larger). Resizing/scaling the image window cleans up the window.
I can definitely reproduce this with undoing a Liquid Rescale filter. http://img01.picoodle.com/img/img01/3/10/9/f_undorenderim_f3ba1d7.png
Confirmed with 2.6.3 and current SVN on Gentoo, amd64, glib 2.18.3, gtk+ 2.12.11.
The summary is misleading - the Undo state is shown as clean after an undo, it's the display that isn't updated.
Daniel, please do not confirm a bug report that misses a detailed description on how to reproduce the problem. If you can reproduce it, please add such a description then.
Created attachment 124206 [details] Screenshot depicting the bug Sorry, for me the original description worked pretty well, but here's a more formal and detailed one. 1) Create a new coloured image of 400x400 pixels. 2) Make sure the image window is larger than necessary, i.e. has a wide margin around the canvas. 3) Select Image->Canvas Size... and increase the canvas to something like 450x450. 4) Press Ctrl-Z to undo. Expected result: The state 2) should be restored. Actual result: The image size is restored correctly, but parts of the outer area are not redrawn (everything more than 2 pixels to the right of the old/smaller canvas area). Have X redraw the window (changing desktops, etc.) works. I could only reproduce this effect with the origin of the original image unmoved at (0,0).
*** Bug 565463 has been marked as a duplicate of this bug. ***
*** Bug 573368 has been marked as a duplicate of this bug. ***
Fixed in both branches: 2009-03-28 Michael Natterer <mitch@gimp.org> Bug 555738 – Image display is wrong after undoing canvas size enlargement * app/display/gimpdisplayshell-handlers.c (gimp_display_shell_size_changed_detailed_handler): call gimp_display_shell_expose_full() because resizing the canvas can leave all sorts of display areas unupdated otherwise.
*** Bug 563845 has been marked as a duplicate of this bug. ***
*** Bug 581355 has been marked as a duplicate of this bug. ***