comparison src/bar.c @ 1766:6e0f6d5e4c25

added a workaround for https://bugzilla.gnome.org/show_bug.cgi?id=590692
author nadvornik
date Sat, 10 Oct 2009 15:01:41 +0000
parents c6d522fe3e5e
children e82401bf20c8
comparison
equal deleted inserted replaced
1765:650915809048 1766:6e0f6d5e4c25
575 575
576 file_data_unref(bd->fd); 576 file_data_unref(bd->fd);
577 g_free(bd); 577 g_free(bd);
578 } 578 }
579 579
580 #ifdef HAVE_LIBCHAMPLAIN_GTK
581 /*
582 FIXME: this is an ugly hack that works around this bug:
583 https://bugzilla.gnome.org/show_bug.cgi?id=590692
584 http://bugzilla.openedhand.com/show_bug.cgi?id=1751
585 it should be removed as soon as a better solution exists
586 */
587
588 static void bar_unrealize_clutter_fix_cb(GtkWidget *widget, gpointer data)
589 {
590 GtkWidget *child = gtk_bin_get_child(GTK_BIN(widget));
591 if (child) gtk_widget_unrealize(child);
592 }
593 #endif
594
580 GtkWidget *bar_new(LayoutWindow *lw) 595 GtkWidget *bar_new(LayoutWindow *lw)
581 { 596 {
582 BarData *bd; 597 BarData *bd;
583 GtkWidget *box; 598 GtkWidget *box;
584 GtkWidget *scrolled; 599 GtkWidget *scrolled;
620 635
621 636
622 bd->vbox = gtk_vbox_new(FALSE, 0); 637 bd->vbox = gtk_vbox_new(FALSE, 0);
623 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolled), bd->vbox); 638 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolled), bd->vbox);
624 gtk_viewport_set_shadow_type(GTK_VIEWPORT(gtk_bin_get_child(GTK_BIN(scrolled))), GTK_SHADOW_NONE); 639 gtk_viewport_set_shadow_type(GTK_VIEWPORT(gtk_bin_get_child(GTK_BIN(scrolled))), GTK_SHADOW_NONE);
625 640
641 #ifdef HAVE_LIBCHAMPLAIN_GTK
642 g_signal_connect(G_OBJECT(gtk_bin_get_child(GTK_BIN(scrolled))), "unrealize", G_CALLBACK(bar_unrealize_clutter_fix_cb), NULL);
643 #endif
644
626 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_NONE); 645 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_NONE);
627 gtk_widget_show(bd->vbox); 646 gtk_widget_show(bd->vbox);
628 return bd->widget; 647 return bd->widget;
629 } 648 }
630 649