+2005-07-08 Marco Pesenti Gritti <mpg@redhat.com>
+
+ * ps/ps-document.c: (ps_document_dispose),
+ (ps_async_renderer_render_pixbuf):
+ * ps/ps-document.h:
+
+ Do not leak the target window
+
2005-07-08 Marco Pesenti Gritti <mpg@redhat.com>
* shell/ev-application.c: (ev_application_init):
gs->input_buffer = NULL;
}
+ if (gs->target_window) {
+ gtk_widget_destroy (gs->target_window);
+ gs->target_window = NULL;
+ gs->pstarget = NULL;
+ }
+
stop_interpreter (gs);
G_OBJECT_CLASS (parent_class)->dispose (object);
PSDocument *gs = PS_DOCUMENT (renderer);
if (gs->pstarget == NULL) {
- GtkWidget *widget;
-
- widget = gtk_window_new (GTK_WINDOW_POPUP);
- gtk_widget_realize (widget);
- gs->pstarget = widget->window;
+ gs->target_window = gtk_window_new (GTK_WINDOW_POPUP);
+ gtk_widget_realize (gs->target_window);
+ gs->pstarget = gs->target_window->window;
g_assert (gs->pstarget != NULL);
- g_signal_connect (widget, "event",
+ g_signal_connect (gs->target_window, "event",
G_CALLBACK (ps_document_widget_event),
gs);
}
#define __PS_DOCUMENT_H__
#include <sys/types.h>
+#include <gtk/gtkwidget.h>
#include "ev-document.h"
#include "ps.h"
struct _PSDocument {
GObject object;
+ GtkWidget *target_window;
GdkWindow *pstarget;
GdkPixmap *bpixmap;
long message_window; /* Used by ghostview to receive messages from app */