I think I might have figured it out (sort of at least, still not sure why I seem to be the only one affected by this though), it seems that 2 of the .png files in the backgrounds folder must be using some special feature of the .png specification that for some reason is not supported by the pixbuf png loader (or one of the packages called by the relevant pixbuf loader). I was sort of able to confirm this by copying all of the .png files from the affected backgrounds folder into a temporary folder and compressing them into a .zip file which I then renamed into a .cbz file (compressed comic book format) and opened it with the program Comix which is one of the programs that I get in the list when I search my package manager for 'pygtk'. I can successfully view all but 2 of those files with Comix. I haven't figured out how to get Comix to show me the filename for each individual file in the compressed comic book archive though so I'm not entirely sure which files they are, but I'm willing to bet that at least one of those files is the one mentioned in the Glib error message I get when I try to launch MyPaint from a shell prompt. I'm going to try to see if I can figure out which of the 2 files it is that I can't view with Comix and then maybe try to convert them using GIMP or some other editor to the same .png specification as used by the other files.
Ok, I tried opening the 2 files (mamurk_b_1.png & mamurk_b_2.png) in Pinta but Pinta doesn't recognize them as .png files, they open just fine in GIMP though and can be previewed just fine in Gwenview. If I enable the preview feature in Dolphin (I normally have it off to save on memory usage and just rely on a preview being generated when I actually select a file) I can view a preview of the 2 files just fine. I'm not sure what is so different about these 2 files that keeps MyPaint and Pinta from being able to open them. I tried using GIMP's 'Save for Web' plugin to resave the files into the temporary folder I setup, but even if I try to have GIMP generate an optimized palette I still can't open the files in Pinta (I'm using Pinta as a test bed figuring that if Pinta can open them then MyPaint will probably be able to as well once I figure out what's going on with those 2 files). I doubt that it's a file corruption issue because of the fact that each time I've purged and reinstalled MyPaint my package manager has had to re-download the installation packages for both the main mypaint package and the mypaint-data package, and I find it highly unlikely that with the other disk operations taking place on my system (web page caching and other downloads and yet other things) that the files would be written to the exact same place on the hard drive each and every time causing them to become corrupted due to bad hard drive sectors (besides I've run fsck and it didn't find any problems).
Ok, it's definitely caused by those 2 background files, I manually deleted the backgrounds folder they were in (figuring I could always reinstall yet again), and VOILA!! MyPaint actually started right up, though it did complain a bit about my mouse (I think it was my mouse it was complaining about at least, might have been related to my drivers for my Wacom tablet though too since I didn't have my tablet plugged in at the time). Now I just need to figure out how to fix those 2 files so I can access those backgrounds in MyPaint if I decide I want to. Any thoughts? I haven't tried running any of the .png optimizer programs against them yet, might give that a try here in a bit. Still not sure why I seem to be the only one having this problem though, it's really weird.
Ok, found some more information that might be helpful, I tried opening the 2 files with MyPaint now that I know they're the ones causing the problem and I get the following error message:
Traceback (most recent call last):
File "/usr/share/mypaint/gui/application.py", line 133, at_application_start(*junk=())
else:
self.filehandler.open_file(fn)
variables: {'fn': ('local', u'/home/edwin/Downloads/mypaint test/mamurk_b_1.png'), 'self.filehandler.open_file': ('local', <bound method FileHandler.wrapper of <gui.filehandling.FileHandler object at 0x989922c>>)}
File "/usr/share/mypaint/gui/drawwindow.py", line 46, wrapper(self=<gui.filehandling.FileHandler object>, *args=(u'/home/edwin/Downloads/mypaint test/mamurk_b_1.png',), **kwargs={})
try:
func(self, *args, **kwargs)
# gtk main loop may be called in here...
variables: {'self': ('local', <gui.filehandling.FileHandler object at 0x989922c>), 'args': ('local', (u'/home/edwin/Downloads/mypaint test/mamurk_b_1.png',)), 'func': ('local', <function open_file at 0x9654924>), 'kwargs': ('local', {})}
File "/usr/share/mypaint/gui/filehandling.py", line 249, open_file(self=<gui.filehandling.FileHandler object>, filename=u'/home/edwin/Downloads/mypaint test/mamurk_b_1.png')
try:
self.doc.model.load(filename, feedback_cb=self.gtk_main_tick)
except document.SaveLoadError, e:
variables: {'self.doc.model.load': ('local', <bound method Document.load of <lib.document.Document instance at 0x966b94c>>), 'feedback_cb': (None, []), 'self.gtk_main_tick': ('local', <function gtk_main_tick at 0x96548ec>), 'filename': ('local', u'/home/edwin/Downloads/mypaint test/mamurk_b_1.png')}
File "/usr/share/mypaint/lib/document.py", line 389, load(self=<lib.document.Document instance>, filename=u'/home/edwin/Downloads/mypaint test/mamurk_b_1.png', **kwargs={'feedback_cb': <function gtk_main_tick>})
try:
load(filename, **kwargs)
except gobject.GError, e:
variables: {'load': ('local', <bound method Document.load_png of <lib.document.Document instance at 0x966b94c>>), 'kwargs': ('local', {'feedback_cb': <function gtk_main_tick at 0x96548ec>}), 'filename': ('local', u'/home/edwin/Downloads/mypaint test/mamurk_b_1.png')}
File "/usr/share/mypaint/lib/document.py", line 449, load_png(self=<lib.document.Document instance>, filename=u'/home/edwin/Downloads/mypaint test/mamurk_b_1.png', feedback_cb=<function gtk_main_tick>)
self.clear()
self.load_layer_from_png(filename, 0, 0, feedback_cb)
self.set_frame(*self.get_bbox())
variables: {'feedback_cb': ('local', <function gtk_main_tick at 0x96548ec>), 'self.load_layer_from_png': ('local', <bound method Document.load_layer_from_png of <lib.document.Document instance at 0x966b94c>>), 'filename': ('local', u'/home/edwin/Downloads/mypaint test/mamurk_b_1.png')}
File "/usr/share/mypaint/lib/document.py", line 304, load_layer_from_png(self=<lib.document.Document instance>, filename=u'/home/edwin/Downloads/mypaint test/mamurk_b_1.png', x=0, y=0, feedback_cb=<function gtk_main_tick>)
s = tiledsurface.Surface()
s.load_from_png(filename, x, y, feedback_cb)
self.do(command.LoadLayer(self, s))
variables: {'y': ('local', 0), 'x': ('local', 0), 'feedback_cb': ('local', <function gtk_main_tick at 0x96548ec>), 's.load_from_png': ('local', <bound method Surface.load_from_png of <lib.tiledsurface.Surface; proxy of <Swig Object of type 'TiledSurface *' at 0x9c21470> >>), 'filename': ('local', u'/home/edwin/Downloads/mypaint test/mamurk_b_1.png')}
File "/usr/share/mypaint/lib/tiledsurface.py", line 372, load_from_png(self=<lib.tiledsurface.Surface; proxy of <Swig Object of type 'TiledSurface *' at 0x9c21470> >, filename=u'/home/edwin/Downloads/mypaint test/mamurk_b_1.png', x=0, y=0, feedback_cb=<function gtk_main_tick>)
filename_sys = filename.encode(sys.getfilesystemencoding()) # FIXME: should not do that, should use open(unicode_object)
mypaintlib.load_png_fast_progressive(filename_sys, get_buffer)
consume_buf() # also process the final chunk of data
variables: {'mypaintlib.load_png_fast_progressive': ('global', <built-in function load_png_fast_progressive>), 'filename_sys': ('local', '/home/edwin/Downloads/mypaint test/mamurk_b_1.png'), 'get_buffer': ('local', <function get_buffer at 0x966e1ec>)}
RuntimeError: Failed to convince libpng to convert to RGBA (wrong color_type)[code\]