bugMyPaint - Bugs: bug #20116, Programming error on export

Show feedback again

You are not allowed to post comments on this tracker with your current authentification level.

bug #20116: Programming error on export

Submitted by:  Max <rmx>
Submitted on:  Thu 30 Aug 2012 11:14:35 PM UTC  
Severity: 4 - ImportantPriority: 5 - Normal
Status: FixedPrivacy: Public
Assigned to: NoneOpen/Closed: Closed
Release: 1.0.0 (debian)Planned Release: None
Operating System: 

Fri 04 Jan 2013 06:17:59 PM UTC, comment #2:

This bug is already Fixed in git, but is marked as Open. I am now
marking it Closed because a new stable version, 1.1.0, is
available, meaning that this bug no longer affects the current
stable release.

Please reopen if this problem reoccurs with the new version of

Andrew Chadwick <achadwick>
Project Administrator
Fri 31 Aug 2012 07:47:04 AM UTC, comment #1:

Thanks for the report. This bug has already been fixed in git (duplicate of bug #19649).

Martin Renold <martinxyz>
Project Administrator
Thu 30 Aug 2012 11:14:35 PM UTC, original submission:

I made an export, using a *.png filename, and got this exception:

Traceback (most recent call last):
File "/usr/share/mypaint/gui/filehandling.py", line 449, save_as_cb(self=<gui.filehandling.FileHandler object>, action=<gtk.Action object at 0x2c13870 (GtkAction at 0x2b802e0)>)
# Do not change working file
self.save_as_dialog(self.save_file, suggested_filename = current_filename, export=True)
variables: {'self.save_file': ('local', <bound method FileHandler.wrapper of <gui.filehandling.FileHandler object at 0x2c0b410>>), 'self.save_as_dialog': ('local', <bound method FileHandler.save_as_dialog of <gui.filehandling.FileHandler object at 0x2c0b410>>), 'current_filename': ('local', ''), 'export': (None, []), 'suggested_filename': (None, []), 'True': ('builtin', True)}
File "/usr/share/mypaint/gui/filehandling.py", line 509, save_as_dialog(self=<gui.filehandling.FileHandler object>, save_method_reference=<bound method FileHandler.wrapper of <gui.filehandling.FileHandler object>>, suggested_filename='', start_in_folder=None, export=True, **options={'alpha': False})
# Do not change working file
save_method_reference(filename, True, **options)
variables: {'True': ('builtin', True), 'options': ('local', {'alpha': False}), 'save_method_reference': ('local', <bound method FileHandler.wrapper of <gui.filehandling.FileHandler object at 0x2c0b410>>), 'filename': ('local', u'/home/rmx/board/BookvideoManager.png')}
File "/usr/share/mypaint/gui/drawwindow.py", line 46, wrapper(self=<gui.filehandling.FileHandler object>, args=(u'/home/rmx/board/BookvideoManager.png', True), *kwargs={'alpha': False})
func(self, args, *kwargs)
# gtk main loop may be called in here...
variables: {'self': ('local', <gui.filehandling.FileHandler object at 0x2c0b410>), 'args': ('local', (u'/home/rmx/board/BookvideoManager.png', True)), 'func': ('local', <function save_file at 0x29c7cf8>), 'kwargs': ('local', {'alpha': False})}
File "/usr/share/mypaint/gui/filehandling.py", line 292, save_file(self=<gui.filehandling.FileHandler object>, filename=u'/home/rmx/board/BookvideoManager.png', export=True, **options={'alpha': False})
thumbnail_pixbuf = self.doc.model.render_thumbnail()
helpers.freedesktop_thumbnail(self.filename, thumbnail_pixbuf)
variables: {'thumbnail_pixbuf': ('local', <gtk.gdk.Pixbuf object at 0x406f870 (GdkPixbuf at 0x3522370)>), 'helpers.freedesktop_thumbnail': ('global', <function freedesktop_thumbnail at 0x26fa578>), 'self.filename': ('local', <gui.filehandling.FileHandler object at 0x2c0b410>)}
File "/usr/share/mypaint/lib/helpers.py", line 133, freedesktop_thumbnail(filename=None, pixbuf=<gtk.gdk.Pixbuf object at 0x406f870 (GdkPixbuf at 0x3522370)>)
uri = filename2uri(filename)
file_hash = hashlib.md5(uri).hexdigest()
variables: {'filename2uri': ('global', <function filename2uri at 0x26fa7d0>), 'uri': (None, []), 'filename': ('local', None)}
File "/usr/share/mypaint/lib/helpers.py", line 245, filename2uri(path=None)
def filename2uri(path):
path = os.path.abspath(path)
#print 'encode', repr(path.encode('utf-8'))
variables: {'path': ('local', None), 'os.path.abspath': ('global', <function abspath at 0x7f87338cf9b0>)}
File "/usr/lib/python2.7/posixpath.py", line 352, abspath(path=None)
"""Return an absolute path."""
if not isabs(path):
if isinstance(path, _unicode):
variables: {'path': ('local', None), 'isabs': ('global', <function isabs at 0x7f87338c7de8>)}
File "/usr/lib/python2.7/posixpath.py", line 61, isabs(s=None)
"""Test whether a path is absolute"""
return s.startswith('/')
variables: {'s': ('local', None)}
AttributeError: 'NoneType' object has no attribute 'startswith'

Max <rmx>


Attached Files


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -unavailable- added by achadwick (Posted a comment)
  • -unavailable- added by martinxyz (Posted a comment)
  • -unavailable- added by rmx (Submitted the item)

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.


    Please enter the title of George Orwell's famous dystopian book (it's a date):



    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 04 Jan 2013 06:17:59 PM UTCachadwickOpen/ClosedOpen=>Closed
    Fri 31 Aug 2012 07:47:04 AM UTCmartinxyzStatusNone=>Fixed
    Thu 30 Aug 2012 11:14:35 PM UTCrmxAttached File-=>Added MyPaintExceptionScreenshot.png, #16457
    Show feedback again

    Back to the top

    Powered by Savane 3.1-cleanup