pidgin/ljfisher-ssl-client-auth

make the buddy list tooltips work again
cpw.qulogic.gtk3
2010-11-28, Marcus Lundblad
b3e3ffc64d91
Parents d192c2933e1d
Children e68ef2563a05
make the buddy list tooltips work again
--- a/pidgin/gtkblist.c Sun Nov 28 21:00:42 2010 +0000
+++ b/pidgin/gtkblist.c Sun Nov 28 21:48:26 2010 +0000
@@ -3028,7 +3028,7 @@
for(l = gtkblist->tooltipdata; l; l = l->next)
{
struct tooltip_data *td = l->data;
- cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtkblist->tipwindow));
+ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(gtkblist->tipwindow)));
if (td->avatar && pidgin_gdk_pixbuf_is_opaque(td->avatar))
{
--- a/pidgin/pidgintooltip.c Sun Nov 28 21:00:42 2010 +0000
+++ b/pidgin/pidgintooltip.c Sun Nov 28 21:48:26 2010 +0000
@@ -101,15 +101,17 @@
}
static gboolean
-pidgin_tooltip_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data)
+pidgin_tooltip_draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data)
{
+ GtkAllocation allocation;
+
+ gtk_widget_get_allocation(widget, &allocation);
+
if (pidgin_tooltip.paint_tooltip) {
- cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget)));
gtk_paint_flat_box(gtk_widget_get_style(widget), cr,
- GTK_STATE_NORMAL, GTK_SHADOW_OUT,
- widget, "tooltip", 0, 0, -1, -1);
+ GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+ widget, "tooltip", 0, 0, allocation.width, allocation.height);
pidgin_tooltip.paint_tooltip(widget, data);
- cairo_destroy(cr);
}
return FALSE;
}
@@ -182,8 +184,8 @@
gtk_window_move(GTK_WINDOW(tipwindow), x, y);
gtk_widget_show(tipwindow);
- g_signal_connect(G_OBJECT(tipwindow), "expose_event",
- G_CALLBACK(pidgin_tooltip_expose_event), data);
+ g_signal_connect(G_OBJECT(tipwindow), "draw",
+ G_CALLBACK(pidgin_tooltip_draw_cb), data);
/* Hide the tooltip when the widget is destroyed */
sig = g_signal_connect(G_OBJECT(pidgin_tooltip.widget), "destroy", G_CALLBACK(pidgin_tooltip_destroy), NULL);