Hello.

Recently discovered one more bug. Firefox 3 requires arrows to be drawn 
transparently just as focus rects.
Attached are:
 - arrows in ff3 before applying the patch
 - arrows in ff3 after applying the patch
 - the patch itself (needs to be applied just after a patch for focus rect 
because of blank line I dropped in that patch and returned it back in this)

-- 
WBR, Andrew

<<attachment: badfox.png>>

<<attachment: goodfox.png>>

diff -r ee42da04f30a -r 6f8ec7c94100 src/qt_qt_wrapper.cpp
--- a/src/qt_qt_wrapper.cpp	Thu Jun 12 12:45:13 2008 +0300
+++ b/src/qt_qt_wrapper.cpp	Thu Jun 12 12:46:06 2008 +0300
@@ -1707,19 +1707,21 @@ void drawArrow(GdkWindow* window, GtkSty
 	QPixmap pixmap(w,h);
 	QPainter painter(&pixmap);
 
+	GdkPixmap* pix = gdk_pixmap_foreign_new(pixmap.handle());
+
 	if (fillPixmap && (!fillPixmap->isNull()))
 		painter.fillRect(0, 0, w, h, QBrush(QColor(255,255,255), *fillPixmap));
 	else if ((backgroundTile) && (!backgroundTile->isNull()))
 		painter.fillRect(0, 0, w, h, QBrush(QColor(255,255,255), *backgroundTile));
 	else
-		painter.fillRect(0, 0, w, h, qApp->palette().active().brush(QColorGroup::Background));
+		gdk_draw_drawable(pix, style->bg_gc[GTK_STATE_NORMAL], window, x, y, 0, 0, w, h);
 
 	qApp->style().drawPrimitive(element, &painter, QRect(0,0,w,h), qApp->palette().active(), sflags);
 
-	GdkPixmap* pix = gdk_pixmap_foreign_new(pixmap.handle());
 	gdk_draw_drawable(window, style->bg_gc[state], pix, 0, 0, x, y, w, h);
 	g_object_unref(pix);
 }
+
 void drawFocusRect(GdkWindow * window, GtkStyle * style, int x, int y, int w, int h)
 {
 	if (!gtkQtEnable)

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to