comparison src/pixbuf-renderer.c @ 1500:42081a3433bb

use a better signal
author nadvornik
date Tue, 31 Mar 2009 20:35:04 +0000
parents c350242b1a5d
children 3e6cd9243162
comparison
equal deleted inserted replaced
1499:56b534d71872 1500:42081a3433bb
223 static void pr_zoom_sync(PixbufRenderer *pr, gdouble zoom, 223 static void pr_zoom_sync(PixbufRenderer *pr, gdouble zoom,
224 PrZoomFlags flags, gint px, gint py); 224 PrZoomFlags flags, gint px, gint py);
225 225
226 static void pr_signals_connect(PixbufRenderer *pr); 226 static void pr_signals_connect(PixbufRenderer *pr);
227 static void pr_size_cb(GtkWidget *widget, GtkAllocation *allocation, gpointer data); 227 static void pr_size_cb(GtkWidget *widget, GtkAllocation *allocation, gpointer data);
228 static void pr_unmap_cb(GtkWidget *widget, gpointer data); 228 static void pr_hierarchy_changed_cb(GtkWidget *widget, GtkWidget *previous_toplevel, gpointer data);
229 static void pixbuf_renderer_paint(PixbufRenderer *pr, GdkRectangle *area); 229 static void pixbuf_renderer_paint(PixbufRenderer *pr, GdkRectangle *area);
230 static gint pr_queue_draw_idle_cb(gpointer data); 230 static gint pr_queue_draw_idle_cb(gpointer data);
231 231
232 232
233 /* 233 /*
534 534
535 gtk_widget_set_double_buffered(box, FALSE); 535 gtk_widget_set_double_buffered(box, FALSE);
536 g_signal_connect_after(G_OBJECT(box), "size_allocate", 536 g_signal_connect_after(G_OBJECT(box), "size_allocate",
537 G_CALLBACK(pr_size_cb), pr); 537 G_CALLBACK(pr_size_cb), pr);
538 538
539 g_signal_connect(G_OBJECT(pr), "unmap", 539 g_signal_connect(G_OBJECT(pr), "hierarchy-changed",
540 G_CALLBACK(pr_unmap_cb), pr); 540 G_CALLBACK(pr_hierarchy_changed_cb), pr);
541 541
542 pr_signals_connect(pr); 542 pr_signals_connect(pr);
543 } 543 }
544 544
545 static void pixbuf_renderer_finalize(GObject *object) 545 static void pixbuf_renderer_finalize(GObject *object)
1159 void pixbuf_renderer_overlay_remove(PixbufRenderer *pr, gint id) 1159 void pixbuf_renderer_overlay_remove(PixbufRenderer *pr, gint id)
1160 { 1160 {
1161 pixbuf_renderer_overlay_set(pr, id, NULL, 0, 0); 1161 pixbuf_renderer_overlay_set(pr, id, NULL, 0, 0);
1162 } 1162 }
1163 1163
1164 static void pr_unmap_cb(GtkWidget *widget, gpointer data) 1164 static void pr_hierarchy_changed_cb(GtkWidget *widget, GtkWidget *previous_toplevel, gpointer data)
1165 { 1165 {
1166 PixbufRenderer *pr = data; 1166 PixbufRenderer *pr = data;
1167 pr_overlay_list_reset_window(pr); 1167 pr_overlay_list_reset_window(pr);
1168 } 1168 }
1169 1169
3860 G_CALLBACK(pr_mouse_press_cb), pr); 3860 G_CALLBACK(pr_mouse_press_cb), pr);
3861 g_signal_connect(G_OBJECT(pr), "button_release_event", 3861 g_signal_connect(G_OBJECT(pr), "button_release_event",
3862 G_CALLBACK(pr_mouse_release_cb), pr); 3862 G_CALLBACK(pr_mouse_release_cb), pr);
3863 g_signal_connect(G_OBJECT(pr), "leave_notify_event", 3863 g_signal_connect(G_OBJECT(pr), "leave_notify_event",
3864 G_CALLBACK(pr_mouse_leave_cb), pr); 3864 G_CALLBACK(pr_mouse_leave_cb), pr);
3865 g_signal_connect(G_OBJECT(pr), "unmap", 3865 g_signal_connect(G_OBJECT(pr), "hierarchy-changed",
3866 G_CALLBACK(pr_unmap_cb), pr); 3866 G_CALLBACK(pr_hierarchy_changed_cb), pr);
3867 3867
3868 gtk_widget_set_events(GTK_WIDGET(pr), GDK_POINTER_MOTION_MASK | 3868 gtk_widget_set_events(GTK_WIDGET(pr), GDK_POINTER_MOTION_MASK |
3869 GDK_BUTTON_RELEASE_MASK | GDK_BUTTON_PRESS_MASK | 3869 GDK_BUTTON_RELEASE_MASK | GDK_BUTTON_PRESS_MASK |
3870 GDK_LEAVE_NOTIFY_MASK); 3870 GDK_LEAVE_NOTIFY_MASK);
3871 3871