* Fixes NB#90204 fixes a memory leak
[modest] / src / hildon2 / modest-msg-edit-window.c
index 35e2c1e..2df0d39 100644 (file)
@@ -1008,6 +1008,8 @@ pixbuf_from_stream (TnyStream *stream, const gchar *mime_type, guint64 *stream_s
                readed = tny_stream_read (TNY_STREAM (stream), (char *) read_buffer, 128);
                size += readed;
                if (!gdk_pixbuf_loader_write (loader, read_buffer, readed, &error)) {
+                       if (error)
+                               g_error_free (error);
                        break;
                }
        }
@@ -1902,6 +1904,7 @@ modest_msg_edit_window_set_format_state (ModestMsgEditWindow *self,
        
        text_buffer_refresh_attributes (WP_TEXT_BUFFER (priv->text_buffer), self);
        
+       g_free (buffer_format);
        g_free (current_format);
 
        /* Check dimming rules */
@@ -3553,8 +3556,12 @@ modest_msg_edit_window_set_draft (ModestMsgEditWindow *window,
                        priv->msg_uid = NULL;
                }
                priv->msg_uid = modest_tny_folder_get_header_unique_id (header);
-               if (GTK_WIDGET_REALIZED (window))
-                       modest_window_mgr_register_window (mgr, MODEST_WINDOW (window), NULL);
+               if (GTK_WIDGET_REALIZED (window)) {
+                       if (!modest_window_mgr_register_window (mgr, MODEST_WINDOW (window), NULL)) {
+                               gtk_widget_destroy (GTK_WIDGET (window));
+                               return;
+                       }
+               }
        }
 
        priv->draft_msg = draft;