Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/profile_window.py14
-rw-r--r--src/vcard.py17
2 files changed, 18 insertions, 13 deletions
diff --git a/src/profile_window.py b/src/profile_window.py
index 1e1bda1dc..4f98e20a8 100644
--- a/src/profile_window.py
+++ b/src/profile_window.py
@@ -132,7 +132,7 @@ class ProfileWindow:
try:
pixbuf = gtk.gdk.pixbuf_new_from_file(path_to_file)
# get the image at 'notification size'
- # and use that user did not specify in ACE crazy size
+ # and hope that user did not specify in ACE crazy size
scaled_pixbuf = gtkgui_helpers.get_scaled_pixbuf(pixbuf,
'tooltip')
except gobject.GError, msg: # unknown format
@@ -149,13 +149,17 @@ class ProfileWindow:
'avatar_scaled.png')
scaled_pixbuf.save(path_to_file, 'png')
must_delete = True
- self.dialog.destroy()
-
+
fd = open(path_to_file, 'rb')
data = fd.read()
pixbuf = gtkgui_helpers.get_pixbuf_from_data(data)
- # rescale it
- pixbuf = gtkgui_helpers.get_scaled_pixbuf(pixbuf, 'vcard')
+ try:
+ # rescale it
+ pixbuf = gtkgui_helpers.get_scaled_pixbuf(pixbuf, 'vcard')
+ except AttributeError: # unknown format
+ dialogs.ErrorDialog(_('Could not load image'), msg)
+ return
+ self.dialog.destroy()
button = self.xml.get_widget('PHOTO_button')
image = button.get_image()
image.set_from_pixbuf(pixbuf)
diff --git a/src/vcard.py b/src/vcard.py
index d98e58eb8..51113854f 100644
--- a/src/vcard.py
+++ b/src/vcard.py
@@ -139,16 +139,17 @@ class VcardWindow:
if invalid_file:
dialogs.ErrorDialog(_('Could not load image'), msg)
return
- pixbuf = gtk.gdk.pixbuf_new_from_file(path_to_file)
- if filesize > 16384: # 16 kb
- try:
+ try:
+ pixbuf = gtk.gdk.pixbuf_new_from_file(path_to_file)
+ if filesize > 16384: # 16 kb
# get the image at 'notification size'
- # and use that user did not specify in ACE crazy size
+ # and hope that user did not specify in ACE crazy size
pixbuf = gtkgui_helpers.get_scaled_pixbuf(pixbuf, 'tooltip')
- except gobject.GError, msg: # unknown format
- # msg should be string, not object instance
- msg = str(msg)
- invalid_file = True
+ except gobject.GError, msg: # unknown format
+ # msg should be string, not object instance
+ msg = str(msg)
+ dialogs.ErrorDialog(_('Could not load image'), msg)
+ return
puny_jid = helpers.sanitize_filename(self.contact.jid)
path_to_file = os.path.join(gajim.AVATAR_PATH, puny_jid) + '_local.png'
pixbuf.save(path_to_file, 'png')