Nautilus background image patterns corrupt if background bitmap image is larger than the Nautilus window dimensions

Bug #417265 reported by Jeff Sereno on 2009-08-22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
nautilus (Ubuntu)
Ubuntu Desktop Bugs

Bug Description

Binary package hint: nautilus

Nautilus has the ability to show a bitmap image as a background of the main body area of a Nautilus window where all your file and directory icons are shown instead of just a plain boring colour. Nautilus includes a number of sample tiled patterns, but you can also use your own.

Adding a new bitmap image to use as a background pattern works fine, however if that bitmap image is larger than the Nautilus window (eg: a 1024x768 image used inside a 640x480 window), not only does the bitmap not get tiled properly (the tile size is that of the visible area of the Nautilus window itself), but when the Nautilus window is closed and re-opened and you scroll the window to see file and directory icons that are beyond the visible area of the window, either black or corrupted graphic information appears, eventually followed by the uncorrupted visible area of the pattern graphic again, at the real dimension of the background image, ie: if the background image is 1024x768 and your window is 640x480 in size, then the pattern from pixel 481 to 768 vertically and pixel 641 to 1024 horizontally is corrupted or missing altogether (black), but the pattern then correctly repeats (wraps) at pixel 1025 horizontally, but only for the next 640 pixels before it corrupts again, and wraps vertically at pixel 769, but again only for the next 480 pixels before becoming corrupt again.

Under NVidia gfx drivers v180, v185 and v190, the corruption appears to be copied chunks of other formerly used areas of graphics memory, in my case it is mostly chunks of my second display. Under Virtualbox, all I get is black in the corrupted areas.

I am using Ubuntu Jaunty 9.04 64-bit but have also seen the problem under Jaunty 32-bit as well. Nautilus package version 1:2.26.2-0ubuntu2

STEPS TO REPRODUCE (including control demonstration):
1. Open a Nautilus window.
2. Go to the Edit menu and choose "Backgrounds and Emblems".
3. In the window that appears, drag one of the stock patterns into the main body of the Nautilus window. The background will change to that pattern.
4. Close Backgrounds and Emblems window and close the Nautilus window.
5. Open the Nautilus window again and navigate to a directory that contains files and/or folders that are too numerous to fit into the one window simultaneously (eg: "/bin" is an easy place to navigate to for lots of files).
6. Scroll the window to reveal the other files/folders. You will notice that the background tiling seems to look fine. This is because the pattern image dimensions is smaller than the actual Nautilus window dimensions.
7. Go to the Edit menu and choose "Backgrounds and Emblems" again.
8. This time click the "Add a New Pattern" button. A file requester appears.
9. Locate any large bitmap image, in any supported format. If you don't have one handy, use the default Jaunty wallpaper located at "/usr/share/backgrounds/warty-final-ubuntu.png".
10. Click the Open button and the bitmap will be added to the available list of patterns.
11. Drag that new pattern into the main body area of the Nautilus window. The background will now change to your large bitmap picture. The image, being larger than the window, will be cropped to the Nautilus window size.
12. Close the "Backgrounds and Emblems" window, but don't close the Nautilus window.
13. Navigate somewhere with lots of files/directories again (eg: "/bin") and scroll. Notice that the background wallpaper in the Nautilus window tiles or wraps not at the actual image's dimensions, but the window's dimensions only. There is also no visible corruption of black-only areas in general.
14. Widen the window to see the same problem exhibited horizontally as well.
15. Now close the Nautilus window.
16. Re-open the Nautilus window and navigate back to the same directory you were using before.
17. Scroll again. If you are using NVidia gfx, you will see that the tiling is corrupted beyond the window's dimensions up until you get to the background image's dimensions at which point it tiles properly. The same goes for the horizontal. If you are using Virtualbox with the Virtualbox Additions gfx Driver installed, you just see black instead of corrupted data. Virtualbox with no Additions driver installed exhibits a combination of corruption and black.
18. Make the Nautilus window much larger so that you can see a lot of the image corruption.
19. Now close the Nautilus window while the window is still large in size.
20. Reopen the Nautilus window - it should appear in the last dimensions you closed it at. Note that the background pattern now looks OK - where you saw corruption before there is none, however if you again scroll the window you will see the corruption is again only beyond the boundaries of the current window dimensions.

Tested only with NVidia and Virtualbox gfx adapters. Not tested with Intel, ATi or any other gfx chipsets.

Tested with various image formats including PNG, JPG and SVG. Same issue across the board.

This issue does not appear to destabilise the system in any way (crashes, lock-ups, etc) - it appears to be just a simple rendering issue.

Pedro Villavicencio (pedro) wrote :

Thanks for the report, the bug is one that needs to be send directly upstream to: , forwarding instructions are available at: , Thanks in advance.

Changed in nautilus (Ubuntu):
importance: Undecided → Low
Changed in nautilus (Ubuntu):
assignee: nobody → Ubuntu Desktop Bugs (desktop-bugs)
status: New → Triaged
Changed in nautilus:
status: Unknown → Invalid
Changed in nautilus:
importance: Unknown → Medium
status: Invalid → Expired
Sebastien Bacher (seb128) wrote :

The dialog which has the issue got deprecated in GNOME3 in Oneiric, closing the bug

Changed in nautilus (Ubuntu):
status: Triaged → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.