< prev index next >

src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.c

Print this page

        

*** 1775,1787 **** { if (state_type == GTK_STATE_PRELIGHT && (widget_type == CHECK_BOX || widget_type == RADIO_BUTTON)) { return; } ! GtkStyleContext* context = get_style(widget_type, detail); if (widget_type == TOOL_TIP) { fp_gtk_style_context_add_class(context, "background"); } GtkStateFlags flags = get_gtk_flags(state_type); if (has_focus) { --- 1775,1796 ---- { if (state_type == GTK_STATE_PRELIGHT && (widget_type == CHECK_BOX || widget_type == RADIO_BUTTON)) { return; } ! ! GtkStyleContext* context = NULL; if (widget_type == TOOL_TIP) { + context = get_style(widget_type, detail); fp_gtk_style_context_add_class(context, "background"); + } else { + gtk3_widget = gtk3_get_widget(widget_type); + context = fp_gtk_widget_get_style_context (gtk3_widget); + fp_gtk_style_context_save (context); + if (detail != 0) { + transform_detail_string(detail, context); + } } GtkStateFlags flags = get_gtk_flags(state_type); if (has_focus) {
*** 1793,1804 **** if (widget_type == COMBO_BOX_TEXT_FIELD) { width += height /2; } fp_gtk_render_background (context, cr, x, y, width, height); ! disposeOrRestoreContext(context); } static void gtk3_paint_focus(WidgetType widget_type, GtkStateType state_type, const char *detail, gint x, gint y, gint width, gint height) { --- 1802,1816 ---- if (widget_type == COMBO_BOX_TEXT_FIELD) { width += height /2; } fp_gtk_render_background (context, cr, x, y, width, height); ! if (widget_type == TOOL_TIP) { disposeOrRestoreContext(context); + } else { + fp_gtk_style_context_restore (context); + } } static void gtk3_paint_focus(WidgetType widget_type, GtkStateType state_type, const char *detail, gint x, gint y, gint width, gint height) {
< prev index next >