diff options
author | François Andriot <albator78@libertysurf.fr> | 2014-02-01 14:53:56 +0100 |
---|---|---|
committer | François Andriot <albator78@libertysurf.fr> | 2014-02-01 14:53:56 +0100 |
commit | 07059c25f17d89004174a0e1555a017f270374f7 (patch) | |
tree | ac9a889d674dc61a4ff5485133ad18e94d99f9f0 /redhat/applications/gtk-qt-engine | |
parent | cb8f9519d87272d7eb32636836e37087761ec288 (diff) | |
download | tde-packaging-07059c25f17d89004174a0e1555a017f270374f7.tar.gz tde-packaging-07059c25f17d89004174a0e1555a017f270374f7.zip |
RPM Packaging: update 3.5.13.2 packages
Diffstat (limited to 'redhat/applications/gtk-qt-engine')
5 files changed, 1196 insertions, 1 deletions
diff --git a/redhat/applications/gtk-qt-engine/1383169502:f181fbbb337a75257089e64afabd04dac2e1d466.diff b/redhat/applications/gtk-qt-engine/1383169502:f181fbbb337a75257089e64afabd04dac2e1d466.diff new file mode 100644 index 000000000..8548d545c --- /dev/null +++ b/redhat/applications/gtk-qt-engine/1383169502:f181fbbb337a75257089e64afabd04dac2e1d466.diff @@ -0,0 +1,50 @@ +commit f181fbbb337a75257089e64afabd04dac2e1d466 +Author: Timothy Pearson <kb9vqf@pearsoncomputing.net> +Date: 1383169502 -0500 + + Fix severe iceweasel/icedove tab bar corruption + Clean up minor build warnings + +diff --git a/src/qt_qt_wrapper.cpp b/src/qt_qt_wrapper.cpp +index 067cf24..d3e13bb 100644 +--- a/src/qt_qt_wrapper.cpp ++++ b/src/qt_qt_wrapper.cpp +@@ -337,7 +337,7 @@ void createTQApp() + #endif // USE_FREEBSD + #endif // USE_SOLARIS + +- mozillaFix = (cmdLine.contains("mozilla") || cmdLine.contains("firefox") || cmdLine.contains("thunderbird")); ++ mozillaFix = (cmdLine.contains("mozilla") || cmdLine.contains("firefox") || cmdLine.contains("iceweasel") || cmdLine.contains("thunderbird") || cmdLine.contains("icedove")); + + openOfficeFix = (cmdLine.endsWith("soffice.bin")) + | (cmdLine.endsWith("swriter.bin")) +@@ -692,10 +692,9 @@ void drawButton(GdkWindow* window, GtkStyle* style, GtkStateType state, int defa + TQPushButton button(meepWidget); + button.setBackgroundOrigin(TQWidget::ParentOrigin); + button.setGeometry(x, y, w, h); +- if (style->rc_style->bg[GTK_STATE_NORMAL].pixel != 0) ++ if (style->rc_style->bg[GTK_STATE_NORMAL].pixel != 0) { + button.setPaletteBackgroundColor(gdkColorToTQColor(&style->rc_style->bg[GTK_STATE_NORMAL])); +- TQPoint p = button.backgroundOffset(); +- TQPoint pos = button.pos(); ++ } + + TQStyle::SFlags sflags = stateToSFlags(state); + +@@ -730,8 +729,6 @@ void drawButton(GdkWindow* window, GtkStyle* style, GtkStateType state, int defa + button.setGeometry(x, y, w, h); + if (style->rc_style->bg[GTK_STATE_NORMAL].pixel != 0) + button.setPaletteBackgroundColor(gdkColorToTQColor(&style->rc_style->bg[GTK_STATE_NORMAL])); +- TQPoint p = button.backgroundOffset(); +- TQPoint pos = button.pos(); + + TQStyle::SFlags sflags = stateToSFlags(state); + +@@ -1802,6 +1799,7 @@ void drawArrow(GdkWindow* window, GtkStyle* style, GtkStateType state, GtkArrowT + case GTK_ARROW_LEFT: element = TQStyle::PE_ArrowLeft; break; + case GTK_ARROW_RIGHT: element = TQStyle::PE_ArrowRight; break; + case GTK_ARROW_NONE: return; ++ default: return; + } + + diff --git a/redhat/applications/gtk-qt-engine/1387752298:6e6dbb068e03a8bb818a76ba774d6f94ade7389f.diff b/redhat/applications/gtk-qt-engine/1387752298:6e6dbb068e03a8bb818a76ba774d6f94ade7389f.diff new file mode 100644 index 000000000..fadce37cf --- /dev/null +++ b/redhat/applications/gtk-qt-engine/1387752298:6e6dbb068e03a8bb818a76ba774d6f94ade7389f.diff @@ -0,0 +1,553 @@ +commit 6e6dbb068e03a8bb818a76ba774d6f94ade7389f +Author: Timothy Pearson <kb9vqf@pearsoncomputing.net> +Date: 1387752298 -0600 + + Fix numerous drawing glitches in Firefox + +diff --git a/src/qt_qt_wrapper.cpp b/src/qt_qt_wrapper.cpp +index d3e13bb..928aef3 100644 +--- a/src/qt_qt_wrapper.cpp ++++ b/src/qt_qt_wrapper.cpp +@@ -640,7 +640,7 @@ void drawButton(GdkWindow* window, GtkStyle* style, GtkStateType state, int defa + } + + if (gwidget) { +- TQString gwLabel(gtk_button_get_label(gwidget)); ++ TQString gwLabel(gtk_button_get_label(gwidget)); + if (gtk_button_get_use_stock(gwidget)) { + GtkStockItem stockData; + gtk_stock_lookup(gwLabel.ascii(), &stockData); +@@ -649,8 +649,8 @@ void drawButton(GdkWindow* window, GtkStyle* style, GtkStateType state, int defa + gwLabel.replace("&", "&&"); + gwLabel.replace("_", "&"); + +- TQPixmap buttonicon; +- TQBitmap buttonicon_mask; ++ TQPixmap buttonicon; ++ TQBitmap buttonicon_mask; + + GtkWidget* giconwidget = gtk_button_get_image(gwidget); + if (giconwidget) { +@@ -735,9 +735,9 @@ void drawButton(GdkWindow* window, GtkStyle* style, GtkStateType state, int defa + if (defaultButton) + sflags |= TQStyle::Style_ButtonDefault; + button.setDefault(defaultButton); +- ++ + painter.fillRect(0, 0, w, h, tqApp->palette().active().background()); +- ++ + tqApp->style().drawControl(TQStyle::CE_PushButton, &painter, &button, + TQRect(0,0,w,h), button.palette().active(), sflags); + +diff --git a/src/qt_theme_draw.c b/src/qt_theme_draw.c +index 20d8c87..e84c4f7 100644 +--- a/src/qt_theme_draw.c ++++ b/src/qt_theme_draw.c +@@ -676,8 +676,9 @@ draw_box(GtkStyle * style, + int nbpages; + sanitize_size(window, &width, &height); + +- if (gtkQtDebug) ++ if (gtkQtDebug) { + printf("Box (%d,%d,%d,%d) Widget: %s Detail: %s\n",x,y,width,height,gtk_widget_get_name(widget),detail); ++ } + + if (GTK_IS_SCROLLBAR(widget)) + { +@@ -685,38 +686,54 @@ draw_box(GtkStyle * style, + { + GtkAdjustment* adj = (GtkAdjustment*)gtk_range_get_adjustment(GTK_RANGE(widget)); + int orientation = ((width>height) ? GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL); +- ++ ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawScrollBar(window, style, state_type, orientation, adj, x, y, width, height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } + return; + } + if (DETAIL("menuitem")) + { + /* Crude way of checking if it's a menu item, or a menubar item */ +- if (x != 0) ++ if (x != 0) { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawMenuBarItem(window,style,state_type,x,y,width,height); +- else ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); ++ } ++ else { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawMenuItem(window,style,state_type,x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); ++ } + return; + } + if (DETAIL("menubar")) + { +- if (openOfficeFix == 1) ++ if (openOfficeFix == 1) { + parent_class->draw_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); +- else if (mozillaFix == 1) ++ } ++ else if (mozillaFix == 1) { + parent_class->draw_box (style, window, state_type, GTK_SHADOW_NONE, area, widget, detail, x, y, width, height); +- else ++ } ++ else { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawMenubar(window,style,state_type,x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); ++ } + return; + } + if (DETAIL("menu")) + { +- if (openOfficeFix == 1) ++ if (openOfficeFix == 1) { + parent_class->draw_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); +- else +- { +- if ((x >= 0) && (y >= 0)) /* Work around weirdness in firefox */ ++ } ++ else { ++ if ((x >= 0) && (y >= 0)) { /* Work around weirdness in firefox */ ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawMenu(window,style,state_type,x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); ++ } + } + return; + } +@@ -724,16 +741,15 @@ draw_box(GtkStyle * style, + { + double fraction = gtk_progress_bar_get_fraction(GTK_PROGRESS_BAR(widget)); + GtkProgressBarOrientation orientation = gtk_progress_bar_get_orientation(GTK_PROGRESS_BAR(widget)); +- ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawProgressBar(window,style,state_type,orientation,fraction,x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + return; + } + if (GTK_IS_PROGRESS(widget) && DETAIL("bar")) + { + if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); +- + drawProgressChunk(window,style,state_type,x,y,width,height); +- + if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + return; + } +@@ -742,8 +758,7 @@ draw_box(GtkStyle * style, + GtkAdjustment* adj; + int inverted; + GValue *val = (GValue*)g_malloc( sizeof(GValue) ); +- if (gdk_window_is_viewable(gtk_widget_get_parent_window(widget))) +- { ++ if (gdk_window_is_viewable(gtk_widget_get_parent_window(widget))) { + GdkPixbuf *gpix; + gpix = gdk_pixbuf_get_from_drawable(NULL, gtk_widget_get_parent_window(widget),NULL, x, y, 0, 0, width, height); + setFillPixmap(gpix); +@@ -758,7 +773,9 @@ draw_box(GtkStyle * style, + g_free(val); + + adj = gtk_range_get_adjustment((GtkRange *) widget); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawSlider(window,style,state_type,adj,x,y,width,height, (GTK_RANGE(widget))->orientation, inverted); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + return; + } + if (DETAIL("button")) +@@ -767,18 +784,15 @@ draw_box(GtkStyle * style, + int toolbutton = 0; + parent = gtk_widget_get_parent(widget); + +- if (parent && (GTK_IS_CLIST(parent) || GTK_IS_LIST(parent) || GTK_IS_TREE_VIEW(parent))) +- { ++ if (parent && (GTK_IS_CLIST(parent) || GTK_IS_LIST(parent) || GTK_IS_TREE_VIEW(parent))) { + drawListHeader(window,style,state_type,x,y,width,height); + return; + } + + /* this is a very very bad hack but there seems to be no way to find if a button is on a + * toolbar in gtk */ +- while (1) +- { +- if (GTK_IS_WIDGET(parent)) +- { ++ while (1) { ++ if (GTK_IS_WIDGET(parent)) { + #ifdef HAVE_BONOBO + if (GTK_IS_TOOLBAR(parent) || BONOBO_IS_UI_TOOLBAR(parent)) + #else +@@ -789,17 +803,20 @@ draw_box(GtkStyle * style, + break; + } + } +- else ++ else { + break; ++ } + parent = gtk_widget_get_parent(parent); + } + + parent = gtk_widget_get_parent(widget); + +- if (toolbutton) ++ if (toolbutton) { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawToolButton(window,style,state_type,x,y,width,height); +- else +- { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); ++ } ++ else { + /* Baghira hack -- rounded buttons really ugly when they are small like + on a dropdown entry box -- eg. search/replace in gedit */ + /* Draw square buttons only if number of children in the hbox is 2 and +@@ -807,31 +824,35 @@ draw_box(GtkStyle * style, + int defaultButton = gtk_widget_has_focus(widget); + GtkWindow* toplevel; + +- if (isBaghira && GTK_IS_BOX(parent) && (g_list_length(GTK_BOX(parent)->children) == 2)) +- { ++ if (isBaghira && GTK_IS_BOX(parent) && (g_list_length(GTK_BOX(parent)->children) == 2)) { + child_list = g_list_first((GTK_BOX(parent)->children)); + child = (GtkWidget *)child_list->data; +- if (GTK_IS_ENTRY(child)) +- { ++ if (GTK_IS_ENTRY(child)) { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawSquareButton(window,style,state_type,x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + return; + } + + child_list = g_list_last((GTK_BOX(parent)->children)); + child = ((GtkBoxChild *)child_list->data)->widget; +- if (GTK_IS_ENTRY(child)) +- { ++ if (GTK_IS_ENTRY(child)) { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawSquareButton(window,style,state_type,x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + return; + } + + } + + toplevel = GTK_WINDOW(gtk_widget_get_toplevel(widget)); +- if (toplevel && toplevel->default_widget == widget) ++ if (toplevel && toplevel->default_widget == widget) { + defaultButton = 1; +- ++ } ++ ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawButton(window,style,state_type,defaultButton,x,y,width,height,GTK_BUTTON(widget)); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } + return; + } +@@ -860,43 +881,55 @@ draw_box(GtkStyle * style, + + /* Now draw the tab -- tab position is also calculated in this function + checkout drawTabFrame() for drawing tabbarbase. */ ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawTabNG(window,style,state_type,x, y, width/*-2*/, height, nb ); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } + else { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawTab(window,style,state_type,x,y,width/*-2*/,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } + return; + } +- if (DETAIL("optionmenu")) +- { ++ if (DETAIL("optionmenu")) { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawComboBox(window,style,state_type,x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + return; + } +- if (DETAIL("toolbar")) +- { ++ if (DETAIL("toolbar")) { + if (openOfficeFix == 1) + parent_class->draw_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); + else ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawToolbar(window,style,state_type,x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + return; + } +- if (DETAIL("spinbutton_up")) +- { ++ if (DETAIL("spinbutton_up")) { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawSpinButton(window, style, state_type, 0, x, y, width, height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + return; + } +- if (DETAIL("spinbutton_down")) +- { ++ if (DETAIL("spinbutton_down")) { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawSpinButton(window, style, state_type, 1, x, y, width, height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + return; + } +- if (DETAIL("spinbutton")) ++ if (DETAIL("spinbutton")) { + return; ++ } + +- if (DETAIL("optionmenutab") || DETAIL("buttondefault")) ++ if (DETAIL("optionmenutab") || DETAIL("buttondefault")) { + return; +- ++ } ++ ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawFrame(window,style,state_type,shadow_type,x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } + + +@@ -916,11 +949,11 @@ draw_flat_box(GtkStyle * style, + { + sanitize_size(window, &width, &height); + +- if (gtkQtDebug) ++ if (gtkQtDebug) { + printf("Flat Box (%d,%d,%d,%d) Widget: %s Detail: %s %d %d\n",x,y,width,height,gtk_widget_get_name(widget),detail, state_type, GTK_STATE_SELECTED); ++ } + +- if (DETAIL("tooltip")) +- { ++ if (DETAIL("tooltip")) { + GdkColor tooltipColor; + GdkGCValues gc_values; + GdkGCValuesMask gc_values_mask; +@@ -940,21 +973,25 @@ draw_flat_box(GtkStyle * style, + gtk_gc_release(tooltipGc); + } + +- if ((DETAILHAS("cell_even") || DETAILHAS("cell_odd")) && (state_type == GTK_STATE_SELECTED)) +- { ++ if ((DETAILHAS("cell_even") || DETAILHAS("cell_odd")) && (state_type == GTK_STATE_SELECTED)) { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawListViewItem(window,style,state_type,x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } +- else if (DETAIL("listitem")) +- { ++ else if (DETAIL("listitem")) { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawListViewItem(window,style,state_type,x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } +- else if (DETAILHAS("cell_even")) +- { ++ else if (DETAILHAS("cell_even")) { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + gdk_draw_rectangle(window, style->base_gc[GTK_STATE_NORMAL], TRUE, x, y, width, height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } +- else if (DETAILHAS("cell_odd")) +- { ++ else if (DETAILHAS("cell_odd")) { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + gdk_draw_rectangle(window, alternateBackgroundGc(style), TRUE, x, y, width, height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } + } + +@@ -972,26 +1009,28 @@ draw_check(GtkStyle * style, + gint width, + gint height) + { +- if (gtkQtDebug) ++ if (gtkQtDebug) { + printf("Check (%d,%d,%d,%d) Widget: %s Detail: %s\n", x, y, width, height,gtk_widget_get_name(widget),detail); ++ } + +- if (GTK_IS_MENU_ITEM(widget)) +- { +- if (shadow_type == GTK_SHADOW_IN) +- { +- if (gdk_window_is_viewable(gtk_widget_get_parent_window(widget))) +- { ++ if (GTK_IS_MENU_ITEM(widget)) { ++ if (shadow_type == GTK_SHADOW_IN) { ++ if (gdk_window_is_viewable(gtk_widget_get_parent_window(widget))) { + GdkPixbuf *gpix; + gpix = gdk_pixbuf_get_from_drawable(NULL, gtk_widget_get_parent_window(widget), NULL, x, y, 0, 0, width, height); + setFillPixmap(gpix); + g_object_unref(gpix); + } +- ++ ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawMenuCheck(window,style,state_type,x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } + return; + } ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawCheckBox(window,style,state_type,(shadow_type==GTK_SHADOW_IN),x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } + + +@@ -1009,11 +1048,11 @@ draw_option(GtkStyle * style, + gint width, + gint height) + { +- if (gtkQtDebug) ++ if (gtkQtDebug) { + printf("Option (%d,%d,%d,%d) Widget: %s Detail: %s\n", x, y, width, height,gtk_widget_get_name(widget),detail); ++ } + +- if (gdk_window_is_viewable(gtk_widget_get_parent_window(widget))) +- { ++ if (gdk_window_is_viewable(gtk_widget_get_parent_window(widget))) { + GdkPixbuf *gpix; + gpix = gdk_pixbuf_get_from_drawable(NULL, gtk_widget_get_parent_window(widget),NULL, x, y, 0, 0, width, height); + setFillPixmap(gpix); +@@ -1022,11 +1061,16 @@ draw_option(GtkStyle * style, + + if (GTK_IS_MENU_ITEM(widget)) + { +- if (shadow_type == GTK_SHADOW_IN) ++ if (shadow_type == GTK_SHADOW_IN) { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawMenuCheck(window,style,state_type,x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); ++ } + return; + } ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawRadioButton(window,style,state_type,(shadow_type==GTK_SHADOW_IN),x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } + + +@@ -1043,8 +1087,9 @@ draw_tab(GtkStyle * style, + gint width, + gint height) + { +- if (gtkQtDebug) ++ if (gtkQtDebug) { + printf("Tab (%d,%d,%d,%d) Widget: %s Detail: %s\n", x, y, width, height,gtk_widget_get_name(widget),detail); ++ } + + gtk_paint_box(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height); + } +@@ -1218,11 +1263,15 @@ draw_box_gap(GtkStyle* style, + + if (width<0 || height<0) return; /* Eclipse really can be this stupid! */ + +- if (gtkQtDebug) ++ if (gtkQtDebug) { + printf("Box_gap (%d,%d,%d,%d) Widget: %s Detail: %s\n", x, y, width, height,gtk_widget_get_name(widget),detail); ++ } + +- if (DETAIL("notebook")) ++ if (DETAIL("notebook")) { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawTabFrame(window,style,state_type,x,y-2,width,height+2, gtk_notebook_get_tab_pos((GtkNotebook *)widget)); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); ++ } + } + + +@@ -1245,8 +1294,9 @@ draw_extension(GtkStyle * style, + + sanitize_size (window, &width, &height); + +- if (gtkQtDebug) ++ if (gtkQtDebug) { + printf("Extension (%d,%d,%d,%d) Widget: %s Detail: %s\n", x, y, width, height,gtk_widget_get_name(widget),detail); ++ } + + gtk_paint_box(style, window, state_type, shadow_type, area, widget, detail, + x, y, width, height); +@@ -1265,8 +1315,9 @@ draw_focus (GtkStyle *style, + gint width, + gint height) + { +- if (gtkQtDebug) ++ if (gtkQtDebug) { + printf("Focus Rect (%d,%d,%d,%d) Widget: %s Detail: %s\n", x, y, width, height,gtk_widget_get_name(widget),detail); ++ } + + GtkWidget* parent = gtk_widget_get_parent(widget); + +@@ -1274,7 +1325,9 @@ draw_focus (GtkStyle *style, + GTK_IS_RADIO_BUTTON(widget) || + (parent && (GTK_IS_CLIST(parent) || GTK_IS_LIST(parent) || GTK_IS_TREE_VIEW(parent)))) + { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawFocusRect(window, style, x, y, width, height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } + return; + } +@@ -1293,24 +1346,31 @@ draw_slider(GtkStyle * style, + gint height, + GtkOrientation orientation) + { +- if (gtkQtDebug) ++ if (gtkQtDebug) { + printf("Slider (%d,%d,%d,%d) Widget: %s Detail: %s\n", x, y, width, height,gtk_widget_get_name(widget),detail); ++ } + +- if (DETAIL("slider")) +- { ++ if (DETAIL("slider")) { + GtkAdjustment* adj = gtk_range_get_adjustment(GTK_RANGE(widget)); + int widgetX, widgetY; + + GtkWidget* parent = widget; +- while (gtk_widget_get_parent(parent) != NULL) ++ while (gtk_widget_get_parent(parent) != NULL) { + parent = gtk_widget_get_parent(parent); ++ } + + gtk_widget_translate_coordinates(widget, parent, 0, 0, &widgetX, &widgetY); + +- if (orientation == GTK_ORIENTATION_VERTICAL) ++ if (orientation == GTK_ORIENTATION_VERTICAL) { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawScrollBarSlider(window, style, state_type, orientation, adj, x-1, y, width+2, height, y-widgetY, widget->allocation.height); +- else ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); ++ } ++ else { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawScrollBarSlider(window, style, state_type, orientation, adj, x, y-1, width, height+2, x-widgetX, widget->allocation.width); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); ++ } + return; + } + } +@@ -1334,10 +1394,13 @@ draw_handle(GtkStyle * style, + + sanitize_size(window, &width, &height); + +- if (gtkQtDebug) ++ if (gtkQtDebug) { + printf("Handle (%d,%d,%d,%d) Widget: %s Detail: %s State Type: %d\n",x,y,width,height,gtk_widget_get_name(widget),detail, state_type); +- ++ } ++ ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawSplitter(window,style,state_type,orientation,x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + return; + } + diff --git a/redhat/applications/gtk-qt-engine/1387757695:a90aa09722d47f5f4009b089d8d874354899bdb8.diff b/redhat/applications/gtk-qt-engine/1387757695:a90aa09722d47f5f4009b089d8d874354899bdb8.diff new file mode 100644 index 000000000..2985283a6 --- /dev/null +++ b/redhat/applications/gtk-qt-engine/1387757695:a90aa09722d47f5f4009b089d8d874354899bdb8.diff @@ -0,0 +1,435 @@ +commit a90aa09722d47f5f4009b089d8d874354899bdb8 +Author: Timothy Pearson <kb9vqf@pearsoncomputing.net> +Date: 1387757695 -0600 + + Fix Firefox scrollbars + +diff --git a/kcm_gtk/kcmgtk.cpp b/kcm_gtk/kcmgtk.cpp +index 28faded..ccd18c1 100644 +--- a/kcm_gtk/kcmgtk.cpp ++++ b/kcm_gtk/kcmgtk.cpp +@@ -185,6 +185,5 @@ KcmGtk::KcmGtk(TQWidget *parent, const char *name, const TQStringList&) + widget->styleIcon->setPixmap(iconLoader.loadIcon("style", KIcon::Desktop)); + widget->fontIcon->setPixmap(iconLoader.loadIcon("fonts", KIcon::Desktop)); +- widget->firefoxIcon->setPixmap(iconLoader.loadIcon("firefox", KIcon::Desktop)); + widget->keyboardIcon->setPixmap(iconLoader.loadIcon("keyboard", KIcon::Desktop)); + + getInstalledThemes(); +@@ -199,5 +198,4 @@ KcmGtk::KcmGtk(TQWidget *parent, const char *name, const TQStringList&) + connect(widget->emacsBox, TQT_SIGNAL(toggled(bool)), TQT_SLOT(itemChanged())); + connect(widget->fontChange, TQT_SIGNAL(clicked()), TQT_SLOT(fontChangeClicked())); +- connect(widget->firefoxFix, TQT_SIGNAL(clicked()), TQT_SLOT(firefoxFixClicked())); + connect(widget->emacsDetails, TQT_SIGNAL(clicked()), TQT_SLOT(emacsDetailsClicked())); + connect(widget->warning3, TQT_SIGNAL(clicked()), TQT_SLOT(searchPathsClicked())); +@@ -453,190 +451,6 @@ TQString KcmGtk::quickHelp() const + return i18n(""); + } + +- +-void KcmGtk::firefoxFixClicked() +-{ +- profiles.clear(); +- getProfiles(TQDir::homeDirPath() + "/.mozilla/firefox/", 0); +- getProfiles(TQDir::homeDirPath() + "/.thunderbird/", 1); +- +- TQString profilePath; +- if (profiles.count() == 0) +- { +- KMessageBox::error(this, i18n("No Mozilla profiles found"), i18n("Could not load Mozilla profiles")); +- return; +- } +- else if (profiles.count() == 1) +- { +- fixProfile(profiles.begin().data()); +- } +- else +- { +- KDialogBase* dialog = new KDialogBase(this, "", true, i18n("Mozilla profile"), KDialogBase::Ok | KDialogBase::Cancel); +- MozillaProfileWidget* w = new MozillaProfileWidget(dialog); +- w->profilesList->header()->hide(); +- w->profilesList->hideColumn(1); +- +- TQPixmap icon = KGlobal::iconLoader()->loadIcon("kuser", KIcon::Small); +- +- for ( TQMapIterator<TQString,TQString> it = profiles.begin(); it != profiles.end(); ++it ) +- { +- KListViewItem* i = new KListViewItem(w->profilesList); +- i->setPixmap(0, icon); +- i->setText(0, it.key()); +- i->setText(1, it.data()); +- } +- +- dialog->setMainWidget(w); +- if (dialog->exec() == TQDialog::Rejected) +- { +- delete dialog; +- return; +- } +- +- TQListViewItemIterator it2(w->profilesList, TQListViewItemIterator::Selected); +- while (it2.current()) +- { +- KListViewItem* i = (KListViewItem*) it2.current(); +- ++it2; +- +- fixProfile(i->text(1)); +- } +- delete dialog; +- } +- +- KMessageBox::information(this, i18n("Your Mozilla profile was updated sucessfully. You must close and restart all Firefox and Thunderbird windows for the changes to take effect"), i18n("Mozilla profile")); +-} +- +-void KcmGtk::getProfiles(const TQString& basePath, int type) +-{ +- TQString fileName = basePath + "/profiles.ini"; +- if (TQFile::exists(fileName)) +- { +- KConfig config(fileName, true, false); +- TQStringList groups = config.groupList(); +- +- for ( TQStringList::Iterator it = groups.begin(); it != groups.end(); ++it ) +- { +- if (!(*it).lower().startsWith("profile")) +- continue; +- +- config.setGroup(*it); +- TQString name = (type ? i18n("Thunderbird") : i18n("Firefox")) + " - " + config.readEntry("Name"); +- TQString path = config.readEntry("Path"); +- if (!path.startsWith("/")) +- path = basePath + path; +- profiles.insert(name, path); +- } +- } +-} +- +-void KcmGtk::fixProfile(const TQString& path) +-{ +- if (!TQFile::exists(path + "/chrome")) +- { +- TQDir dir(path); +- dir.mkdir("chrome"); +- } +- +- TQString data = scrollBarCSS(); +- writeFirefoxCSS(path + "/chrome/userChrome.css", data); +- writeFirefoxCSS(path + "/chrome/userContent.css", data); +-} +- +-TQString KcmGtk::scrollBarCSS() +-{ +- // The following code determines how many buttons are on a scrollbar +- // It works by looking at each pixel of the scrollbar's area not taken up by the groove, +- // and asking the style which subcontrol is at that location. +- TQScrollBar sbar(NULL); +- sbar.setOrientation(Qt::Horizontal); +- sbar.setValue(1); +- sbar.resize(200,25); +- +- TQRect rect = tqApp->style().querySubControlMetrics(TQStyle::CC_ScrollBar, &sbar, TQStyle::SC_ScrollBarGroove); +- +- bool back1 = false; +- bool forward1 = false; +- bool back2 = false; +- bool forward2 = false; +- +- TQStyle::SubControl sc = TQStyle::SC_None; +- for (TQPoint pos(0,7) ; pos.x()<rect.x() ; pos.setX(pos.x()+1)) +- { +- TQStyle::SubControl sc2 = tqApp->style().querySubControl(TQStyle::CC_ScrollBar, &sbar, pos); +- if (sc != sc2) +- { +- if (sc2 == TQStyle::SC_ScrollBarAddLine) forward1 = true; +- if (sc2 == TQStyle::SC_ScrollBarSubLine) back1 = true; +- sc = sc2; +- } +- } +- sc = TQStyle::SC_None; +- for (TQPoint pos(rect.x()+rect.width(),7) ; pos.x()<200 ; pos.setX(pos.x()+1)) +- { +- TQStyle::SubControl sc2 = tqApp->style().querySubControl(TQStyle::CC_ScrollBar, &sbar, pos); +- if (sc != sc2) +- { +- if (sc2 == TQStyle::SC_ScrollBarAddLine) forward2 = true; +- if (sc2 == TQStyle::SC_ScrollBarSubLine) back2 = true; +- sc = sc2; +- } +- } +- +- TQString upTop = (back1 ? "-moz-box" : "none"); +- TQString downTop = (forward1 ? "-moz-box" : "none"); +- TQString upBottom = (back2 ? "-moz-box" : "none"); +- TQString downBottom = (forward2 ? "-moz-box" : "none"); +- +- TQString data; +- data += "/* The following four lines were added by KDE */\n"; +- data += "scrollbarbutton[sbattr=\"scrollbar-up-top\"] { display: " + upTop + " !important; }\n"; +- data += "scrollbarbutton[sbattr=\"scrollbar-down-top\"] { display: " + downTop + " !important; }\n"; +- data += "scrollbarbutton[sbattr=\"scrollbar-up-bottom\"] { display: " + upBottom + " !important; }\n"; +- data += "scrollbarbutton[sbattr=\"scrollbar-down-bottom\"] { display: " + downBottom + " !important; }\n"; +- +- return data; +-} +- +-void KcmGtk::writeFirefoxCSS(const TQString& path, const TQString& data) +-{ +- TQString fileData; +- TQFile file(path); +- if (file.open(IO_ReadOnly)) +- { +- TQTextStream stream(&file); +- for (;;) +- { +- TQString line = stream.readLine(); +- if (line.isNull()) +- break; +- +- if ((line == "# The following four lines were added by KDE") || +- (line == "/* The following four lines were added by KDE */")) +- { +- for (int i=0 ; i<4 ; i++) +- stream.readLine(); +- continue; +- } +- +- fileData += line + "\n"; +- } +- file.close(); +- } +- +- if (!file.open(IO_WriteOnly | IO_Truncate)) +- { +- KMessageBox::error(this, i18n("Could not write to %1").arg(path), i18n("Mozilla profile")); +- return; +- } +- TQTextStream stream(&file); +- stream << fileData << data; +- file.close(); +- +- return; +-} +- + void KcmGtk::emacsDetailsClicked() + { + if (emacsDetailsDialog == NULL) +diff --git a/kcm_gtk/kcmgtk.h b/kcm_gtk/kcmgtk.h +index 542a043..2c04919 100644 +--- a/kcm_gtk/kcmgtk.h ++++ b/kcm_gtk/kcmgtk.h +@@ -71,7 +71,6 @@ public slots: + void styleChanged(); + void fontChangeClicked(); + void itemChanged(); +- void firefoxFixClicked(); + void emacsDetailsClicked(); + void searchPathsClicked(); + void searchPathsOk(); +@@ -82,10 +81,6 @@ public slots: + + private: + void updateFontPreview(); +- void getProfiles(const TQString& basePath, int type); +- void fixProfile(const TQString& path); +- TQString scrollBarCSS(); +- void writeFirefoxCSS(const TQString& path, const TQString& data); + void getInstalledThemes(); + + TQString env(TQString key); +diff --git a/kcm_gtk/kcmgtkwidget.ui b/kcm_gtk/kcmgtkwidget.ui +index 512a610..705655b 100644 +--- a/kcm_gtk/kcmgtkwidget.ui ++++ b/kcm_gtk/kcmgtkwidget.ui +@@ -481,118 +481,6 @@ + </widget> + </hbox> + </widget> +- <widget class="TQGroupBox"> +- <property name="name"> +- <cstring>groupBox1</cstring> +- </property> +- <property name="sizePolicy"> +- <sizepolicy> +- <hsizetype>5</hsizetype> +- <vsizetype>4</vsizetype> +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="title"> +- <string>Firefox and Thunderbird</string> +- </property> +- <hbox> +- <property name="name"> +- <cstring>unnamed</cstring> +- </property> +- <widget class="TQLayoutWidget"> +- <property name="name"> +- <cstring>layout7_2_2</cstring> +- </property> +- <vbox> +- <property name="name"> +- <cstring>unnamed</cstring> +- </property> +- <widget class="TQLabel"> +- <property name="name"> +- <cstring>firefoxIcon</cstring> +- </property> +- <property name="scaledContents"> +- <bool>true</bool> +- </property> +- </widget> +- <spacer> +- <property name="name"> +- <cstring>spacer3_2_2</cstring> +- </property> +- <property name="orientation"> +- <enum>Vertical</enum> +- </property> +- <property name="sizeType"> +- <enum>Expanding</enum> +- </property> +- <property name="sizeHint"> +- <size> +- <width>20</width> +- <height>31</height> +- </size> +- </property> +- </spacer> +- </vbox> +- </widget> +- <widget class="TQLayoutWidget"> +- <property name="name"> +- <cstring>layout12</cstring> +- </property> +- <vbox> +- <property name="name"> +- <cstring>unnamed</cstring> +- </property> +- <widget class="TQLabel"> +- <property name="name"> +- <cstring>textLabel1</cstring> +- </property> +- <property name="text"> +- <string>Scrollbar buttons may sometimes be displayed incorrectly in Firefox and Thunderbird. This can be fixed by installing some files into your Mozilla profile.</string> +- </property> +- <property name="alignment"> +- <set>WordBreak|AlignVCenter</set> +- </property> +- </widget> +- <widget class="TQLayoutWidget"> +- <property name="name"> +- <cstring>layout11</cstring> +- </property> +- <hbox> +- <property name="name"> +- <cstring>unnamed</cstring> +- </property> +- <widget class="TQPushButton"> +- <property name="name"> +- <cstring>firefoxFix</cstring> +- </property> +- <property name="text"> +- <string>I&nstall scrollbar fix...</string> +- </property> +- </widget> +- <spacer> +- <property name="name"> +- <cstring>spacer11</cstring> +- </property> +- <property name="orientation"> +- <enum>Horizontal</enum> +- </property> +- <property name="sizeType"> +- <enum>Expanding</enum> +- </property> +- <property name="sizeHint"> +- <size> +- <width>101</width> +- <height>21</height> +- </size> +- </property> +- </spacer> +- </hbox> +- </widget> +- </vbox> +- </widget> +- </hbox> +- </widget> + <widget class="TQLabel"> + <property name="name"> + <cstring>textLabel1_2</cstring> +@@ -634,7 +522,6 @@ + <tabstop>fontChange</tabstop> + <tabstop>emacsBox</tabstop> + <tabstop>emacsDetails</tabstop> +- <tabstop>firefoxFix</tabstop> + </tabstops> + <layoutdefaults spacing="6" margin="11"/> + <includehints> +diff --git a/src/qt_qt_wrapper.cpp b/src/qt_qt_wrapper.cpp +index 928aef3..eebcc93 100644 +--- a/src/qt_qt_wrapper.cpp ++++ b/src/qt_qt_wrapper.cpp +@@ -2085,7 +2085,7 @@ void setRcProperties(GtkRcStyle* rc_style, int forceRecreate) + stream << parse_rc_string("GtkScrollbar::stepper-size = " + TQString::number(tqApp->style().querySubControlMetrics(TQStyle::CC_ScrollBar, &sbar, TQStyle::SC_ScrollBarSubLine).width() - 1), "*"); + + stream << parse_rc_string("GtkScrollbar::min-slider-length = " + TQString::number(tqApp->style().pixelMetric(TQStyle::PM_ScrollBarSliderMin)), "*"); +- stream << parse_rc_string("GtkScrollbar::slider-width = " + TQString::number(tqApp->style().pixelMetric(TQStyle::PM_ScrollBarExtent)-2), "*"); ++ stream << parse_rc_string("GtkScrollbar::slider-width = " + TQString::number(tqApp->style().pixelMetric(TQStyle::PM_ScrollBarExtent)), "*"); + + stream << parse_rc_string("GtkButton::child-displacement-x = " + TQString::number(tqApp->style().pixelMetric(TQStyle::PM_ButtonShiftHorizontal)), "*"); + stream << parse_rc_string("GtkButton::child-displacement-y = " + TQString::number(tqApp->style().pixelMetric(TQStyle::PM_ButtonShiftVertical)), "*"); +diff --git a/src/qt_theme_draw.c b/src/qt_theme_draw.c +index e84c4f7..4a2ee12 100644 +--- a/src/qt_theme_draw.c ++++ b/src/qt_theme_draw.c +@@ -506,13 +506,16 @@ draw_arrow(GtkStyle* style, + { + sanitize_size(window, &width, &height); + +- if (gtkQtDebug) ++ if (gtkQtDebug) { + printf("Arrow (%d,%d,%d,%d) Widget: %s Detail: %s\n", x, y, width, height,gtk_widget_get_name(widget),detail); +- +- if (DETAIL("hscrollbar") || DETAIL("vscrollbar")) ++ } ++ ++ if (DETAIL("hscrollbar") || DETAIL("vscrollbar")) { + return; +- if (DETAIL("spinbutton")) ++ } ++ if (DETAIL("spinbutton")) { + return; ++ } + if (DETAIL("notebook")) + { + drawArrow(window, style, state_type, arrow_type, x, y, width, height); +@@ -688,7 +691,12 @@ draw_box(GtkStyle * style, + int orientation = ((width>height) ? GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL); + + if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); +- drawScrollBar(window, style, state_type, orientation, adj, x, y, width, height); ++ if (orientation == GTK_ORIENTATION_VERTICAL) { ++ drawScrollBar(window, style, state_type, orientation, adj, x+1, y, width, height); ++ } ++ else { ++ drawScrollBar(window, style, state_type, orientation, adj, x, y+1, width, height); ++ } + if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } + return; +@@ -1363,12 +1371,12 @@ draw_slider(GtkStyle * style, + + if (orientation == GTK_ORIENTATION_VERTICAL) { + if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); +- drawScrollBarSlider(window, style, state_type, orientation, adj, x-1, y, width+2, height, y-widgetY, widget->allocation.height); ++ drawScrollBarSlider(window, style, state_type, orientation, adj, x, y, width, height, y-widgetY, widget->allocation.height); + if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } + else { + if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); +- drawScrollBarSlider(window, style, state_type, orientation, adj, x, y-1, width, height+2, x-widgetX, widget->allocation.width); ++ drawScrollBarSlider(window, style, state_type, orientation, adj, x, y, width, height, x-widgetX, widget->allocation.width); + if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } + return; diff --git a/redhat/applications/gtk-qt-engine/1387965535:0330b848db129b3dc4daa2a57272ec3b2fb7984c.diff b/redhat/applications/gtk-qt-engine/1387965535:0330b848db129b3dc4daa2a57272ec3b2fb7984c.diff new file mode 100644 index 000000000..66b206591 --- /dev/null +++ b/redhat/applications/gtk-qt-engine/1387965535:0330b848db129b3dc4daa2a57272ec3b2fb7984c.diff @@ -0,0 +1,138 @@ +commit 0330b848db129b3dc4daa2a57272ec3b2fb7984c +Author: Timothy Pearson <kb9vqf@pearsoncomputing.net> +Date: 1387965535 -0600 + + Fix Firefox text edit widget glitches + Clean up minor build warnings + +diff --git a/src/qt_theme_draw.c b/src/qt_theme_draw.c +index 4a2ee12..c7992d5 100644 +--- a/src/qt_theme_draw.c ++++ b/src/qt_theme_draw.c +@@ -29,7 +29,7 @@ + extern gboolean tde_showIconsOnPushButtons; + + static GdkPixbuf * (*stockRenderIcon)() = NULL; +-static void * (*stockDrawString)() = NULL; ++// static void * (*stockDrawString)() = NULL; + + static void qtengine_style_init (QtEngineStyle *style); + static void qtengine_style_class_init (QtEngineStyleClass *klass); +@@ -128,13 +128,17 @@ draw_hline(GtkStyle* style, + gint x2, + gint y) + { +- if (gtkQtDebug) ++ if (gtkQtDebug) { + printf("HLINE (%d,%p,%d) Widget: %s Detail: %s\n",x1,y1,y,gtk_widget_get_name(widget),detail); ++ } + +- if (DETAIL("vscale")) ++ if (DETAIL("vscale")) { + return; ++ } + ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawHLine(window,style,state_type,y,x1,x2); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } + + +@@ -149,13 +153,17 @@ draw_vline(GtkStyle* style, + gint yDest, + gint x) + { +- if (gtkQtDebug) ++ if (gtkQtDebug) { + printf("VLINE (%d,%d,%d) Widget: %s Detail: %s\n",ySource ,yDest ,x,gtk_widget_get_name(widget),detail); ++ } + + +- if (DETAIL("hscale")) ++ if (DETAIL("hscale")) { + return; ++ } ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawVLine(window,style,state_type,x,ySource,yDest); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + } + + static void +@@ -192,7 +200,9 @@ draw_shadow(GtkStyle *style, + return; + if (DETAIL("entry")) + { ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawLineEdit(window,style,state_type,gtk_widget_is_focus(widget),x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + return; + } + if (DETAIL("frame") || DETAIL("trough") || DETAIL("viewport")) +@@ -200,7 +210,9 @@ draw_shadow(GtkStyle *style, + if (!GTK_IS_SCALE(widget)) + { + /*printf("Frame (%d,%d) %dx%d %d %d\n", x,y,width,height,state_type, shadow_type);*/ ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], area); + drawFrame(window,style,state_type,shadow_type,x,y,width,height); ++ if (area) gdk_gc_set_clip_rectangle(style->bg_gc[state_type], NULL); + return; + } + } +@@ -644,20 +656,20 @@ draw_diamond(GtkStyle * style, + { + } + +-static void +-draw_string(GtkStyle *style, +- GdkWindow *window, +- GtkStateType state_type, +- GdkRectangle *area, +- GtkWidget *widget, +- const gchar *detail, +- gint x, +- gint y, +- const gchar *string) +-{ +- if (gtkQtDebug) +- printf("STRING Widget: %s Detail: %s\n",gtk_widget_get_name(widget),detail); +-} ++// static void ++// draw_string(GtkStyle *style, ++// GdkWindow *window, ++// GtkStateType state_type, ++// GdkRectangle *area, ++// GtkWidget *widget, ++// const gchar *detail, ++// gint x, ++// gint y, ++// const gchar *string) ++// { ++// if (gtkQtDebug) ++// printf("STRING Widget: %s Detail: %s\n",gtk_widget_get_name(widget),detail); ++// } + + static void + draw_box(GtkStyle * style, +@@ -1464,13 +1476,11 @@ void draw_layout (GtkStyle *style, + PangoAttrList *layoutattr; + + const gchar *text; +- gint text_length = 0; + gint text_bytelen = 0; + text = pango_layout_get_text (layout); + if (text != 0) + { + PangoAttribute *textcolorattr; +- text_length = g_utf8_strlen (text, -1); + text_bytelen = strlen (text); + + textcolorattr = pango_attr_foreground_new(color.red, color.green, color.blue); +@@ -2040,7 +2050,7 @@ qtengine_style_class_init (QtEngineStyleClass *klass) + parent_class = g_type_class_peek_parent (klass); + + stockRenderIcon = style_class->render_icon; +- stockDrawString = style_class->draw_string; ++// stockDrawString = style_class->draw_string; + + style_class->render_icon = draw_icon; + diff --git a/redhat/applications/gtk-qt-engine/gtk-qt-engine-3.5.13.2.spec b/redhat/applications/gtk-qt-engine/gtk-qt-engine-3.5.13.2.spec index 351439d2d..cde2e6341 100644 --- a/redhat/applications/gtk-qt-engine/gtk-qt-engine-3.5.13.2.spec +++ b/redhat/applications/gtk-qt-engine/gtk-qt-engine-3.5.13.2.spec @@ -27,7 +27,7 @@ Name: trinity-%{tde_pkg} Summary: theme engine using Qt for GTK+ 2.x and Trinity Version: 0.8 -Release: %{?!preversion:6}%{?preversion:5_%{preversion}}%{?dist}%{?_variant} +Release: %{?!preversion:7}%{?preversion:6_%{preversion}}%{?dist}%{?_variant} License: GPLv2+ Group: Applications/Utilities @@ -44,6 +44,17 @@ Source1: gtk-qt-engine.rc.sh Source2: gtkrc-2.0-kde4 Source3: gtkrc-2.0-kde-kde4 +# Fix severe iceweasel/icedove tab bar corruption +# Clean up minor build warnings +Patch1: 1383169502:f181fbbb337a75257089e64afabd04dac2e1d466.diff +# Fix numerous drawing glitches in Firefox +Patch2: 1387752298:6e6dbb068e03a8bb818a76ba774d6f94ade7389f.diff +# Fix Firefox scrollbars +Patch3: 1387757695:a90aa09722d47f5f4009b089d8d874354899bdb8.diff +# Fix Firefox text edit widget glitches +# Clean up minor build warnings +Patch4: 1387965535:0330b848db129b3dc4daa2a57272ec3b2fb7984c.diff + BuildRequires: trinity-tqtinterface-devel >= %{tde_version} BuildRequires: trinity-arts-devel >= 1:1.5.10 BuildRequires: trinity-tdelibs-devel >= %{tde_version} @@ -71,6 +82,11 @@ a way to configure it from within KControl. %prep %setup -q -n %{name}-3.5.13.2%{?preversion:~%{preversion}} +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 + %build unset QTDIR QTINC QTLIB @@ -133,6 +149,9 @@ export PATH="%{tde_bindir}:${PATH}" %changelog +* Mon Jan 06 2014 Francois Andriot <francois.andriot@free.fr> - 0.8-7 +- Backport fixes from R14 + * Fri Aug 16 2013 Francois Andriot <francois.andriot@free.fr> - 0.8-6 - Build for Fedora 19 |