diff --git a/src/plugins/coreplugin/manhattanstyle.cpp b/src/plugins/coreplugin/manhattanstyle.cpp
index 5e6084e04b784e93ea9ee815bc1cec778350bedd..94df7444f75c67ea79f9eb758fcc895565205f78 100644
--- a/src/plugins/coreplugin/manhattanstyle.cpp
+++ b/src/plugins/coreplugin/manhattanstyle.cpp
@@ -205,7 +205,7 @@ QSize ManhattanStyle::sizeFromContents(ContentsType type, const QStyleOption *op
     if (type == CT_Splitter && widget && widget->property("minisplitter").toBool())
         return QSize(1, 1);
     else if (type == CT_ComboBox && panelWidget(widget))
-        newSize += QSize(10, 0);
+        newSize += QSize(14, 0);
     return newSize;
 }
 
@@ -503,31 +503,21 @@ void ManhattanStyle::drawPrimitive(PrimitiveElement element, const QStyleOption
                 QColor shadow(0, 0, 0, 30);
                 painter->setPen(shadow);
                 if (pressed) {
-                    QColor shade(0, 0, 0, 50);
-                    if (option->state & State_Sunken)
-                        shade = QColor(0, 0, 0, 50);
-#ifndef Q_WS_MAC
-                    else if (option->state & State_MouseOver)
-                        shade = QColor(255, 255, 255, 10);
-#endif
-                    else if (option->state & State_On)
-                        shade = QColor(0, 0, 0, 50);
-                    else
-                        shade = QColor(0, 0, 0, 0);
-                    painter->fillRect(rect.adjusted(1, 1, -1, -1), shade);
-                    painter->drawLine(rect.topLeft(), rect.topRight());
+                    QColor shade(0, 0, 0, 40);
+                    painter->fillRect(rect, shade);
+                    painter->drawLine(rect.topLeft() + QPoint(1, 0), rect.topRight() - QPoint(1, 0));
                     painter->drawLine(rect.topLeft(), rect.bottomLeft());
+                    painter->drawLine(rect.topRight(), rect.bottomRight());
+                   // painter->drawLine(rect.bottomLeft()  + QPoint(1, 0), rect.bottomRight()  - QPoint(1, 0));
                     QColor highlight(255, 255, 255, 30);
                     painter->setPen(highlight);
-                    painter->drawLine(rect.topRight(), rect.bottomRight());
-                    painter->drawLine(rect.bottomLeft(), rect.bottomRight());
                 }
                 else if (option->state & State_Enabled &&
                          option->state & State_MouseOver) {
-                    QColor lighter(255, 255, 255, 35);
+                    QColor lighter(255, 255, 255, 37);
                     painter->fillRect(rect, lighter);
                 }
-            }
+           }
         }
         break;
 
@@ -670,11 +660,7 @@ void ManhattanStyle::drawPrimitive(PrimitiveElement element, const QStyleOption
                 imagePainter.translate(sx + bsx, sy + bsy);
 
                 if (!(option->state & State_Enabled)) {
-                    imagePainter.translate(1, 1);
-                    imagePainter.setBrush(option->palette.light().color());
-                    imagePainter.setPen(option->palette.light().color());
-                    imagePainter.drawPolygon(a);
-                    imagePainter.translate(-1, -1);
+                    QColor foreGround(150, 150, 150, 150);
                     imagePainter.setBrush(option->palette.mid().color());
                     imagePainter.setPen(option->palette.mid().color());
                 } else {
@@ -781,18 +767,19 @@ void ManhattanStyle::drawControl(ControlElement element, const QStyleOption *opt
                         editRect.translate(-4 - cb->iconSize.width(), 0);
                     else
                         editRect.translate(cb->iconSize.width() + 4, 0);
+
+                    // Reserve some space for the down-arrow
+                    editRect.adjust(0, 0, -13, 0);
                 }
 
                 customPal.setBrush(QPalette::All, QPalette::ButtonText, QColor(0, 0, 0, 70));
 
-                // Reserve some space for the down-arrow
-                QRect rect = editRect.adjusted(0, 0, -8, 0);
-                QString text = option->fontMetrics.elidedText(cb->currentText, Qt::ElideRight, rect.width());
-                drawItemText(painter, rect.translated(0, 1),
+                QString text = option->fontMetrics.elidedText(cb->currentText, Qt::ElideRight, editRect.width());
+                drawItemText(painter, editRect.translated(0, 1),
                              visualAlignment(option->direction, Qt::AlignLeft | Qt::AlignVCenter),
                              customPal, cb->state & State_Enabled, text, QPalette::ButtonText);
                 customPal.setBrush(QPalette::All, QPalette::ButtonText, StyleHelper::panelTextColor());
-                drawItemText(painter, rect,
+                drawItemText(painter, editRect,
                              visualAlignment(option->direction, Qt::AlignLeft | Qt::AlignVCenter),
                              customPal, cb->state & State_Enabled, text, QPalette::ButtonText);
             } else {
@@ -1015,8 +1002,10 @@ void ManhattanStyle::drawComplexControl(ComplexControl control, const QStyleOpti
         break;
 
     case CC_ComboBox:
-        {
+        if (const QStyleOptionComboBox *cb = qstyleoption_cast<const QStyleOptionComboBox *>(option)) {
             painter->save();
+            bool isEmpty = cb->currentText.isEmpty() && cb->currentIcon.isNull();
+            bool reverse = option->direction == Qt::RightToLeft;
 
             // Draw tool button
             QLinearGradient grad(option->rect.topRight(), option->rect.bottomRight());
@@ -1026,28 +1015,36 @@ void ManhattanStyle::drawComplexControl(ComplexControl control, const QStyleOpti
             grad.setColorAt(1, QColor(255, 255, 255, 40));
             painter->setPen(QPen(grad, 0));
             painter->drawLine(rect.topRight(), rect.bottomRight());
-            grad.setColorAt(0, QColor(0, 0, 0, 20));
+            grad.setColorAt(0, QColor(0, 0, 0, 30));
             grad.setColorAt(0.4, QColor(0, 0, 0, 70));
             grad.setColorAt(0.7, QColor(0, 0, 0, 70));
             grad.setColorAt(1, QColor(0, 0, 0, 40));
             painter->setPen(QPen(grad, 0));
-            painter->drawLine(rect.topRight() - QPoint(1,0), rect.bottomRight() - QPoint(1,0));
+            if (!reverse)
+                painter->drawLine(rect.topRight() - QPoint(1,0), rect.bottomRight() - QPoint(1,0));
+            else
+                painter->drawLine(rect.topLeft(), rect.bottomLeft());
             QStyleOption toolbutton = *option;
-            toolbutton.rect.adjust(0, 0, -2, 0);
+            if (isEmpty)
+                toolbutton.state &= ~(State_Enabled | State_Sunken);
+            painter->save();
+            painter->setClipRect(toolbutton.rect.adjusted(0, 0, -2, 0));
             drawPrimitive(PE_PanelButtonTool, &toolbutton, painter, widget);
-
+            painter->restore();
             // Draw arrow
             int menuButtonWidth = 12;
-            bool reverse = option->direction == Qt::RightToLeft;
             int left = !reverse ? rect.right() - menuButtonWidth : rect.left();
             int right = !reverse ? rect.right() : rect.left() + menuButtonWidth;
-            QRect arrowRect((left + right) / 2 - 5, rect.center().y() - 3, 9, 9);
+            QRect arrowRect((left + right) / 2 + (reverse ? 6 : -6), rect.center().y() - 3, 9, 9);
             if (option->state & State_On)
                 arrowRect.translate(d->style->pixelMetric(PM_ButtonShiftHorizontal, option, widget),
                                     d->style->pixelMetric(PM_ButtonShiftVertical, option, widget));
+
             QStyleOption arrowOpt = *option;
             arrowOpt.rect = arrowRect;
-            QPalette pal = option->palette;
+            if (isEmpty)
+                arrowOpt.state &= ~(State_Enabled | State_Sunken);
+
             if (styleHint(SH_ComboBox_Popup, option, widget)) {
                 arrowOpt.rect.translate(0, -3);
                 drawPrimitive(PE_IndicatorArrowUp, &arrowOpt, painter, widget);
diff --git a/src/tools/qtlibspatcher/qtlibspatcher.sh b/src/tools/qtlibspatcher/qtlibspatcher.sh
index 3f04fafb10161d8e9ac46b1610d7ae1158709f4d..91fea94318f771c40725c399411186c6ba9084f9 100755
--- a/src/tools/qtlibspatcher/qtlibspatcher.sh
+++ b/src/tools/qtlibspatcher/qtlibspatcher.sh
@@ -1,2 +1,2 @@
-#!/bin/sh
-LD_LIBRARY_PATH=`cd .. && pwd`/lib ./qtlibspatcher
+#!/bin/bash
+LD_LIBRARY_PATH=`cd .. && pwd`/lib ./qtlibspatcher "$@"
diff --git a/src/tools/qtlibspatcher/qtlibspatchermain.cpp b/src/tools/qtlibspatcher/qtlibspatchermain.cpp
index 56c7aeb104db8b0cc343ce74de27d3a9673772d7..f1780973cf430e06f56274d01fdf919b2715da6b 100644
--- a/src/tools/qtlibspatcher/qtlibspatchermain.cpp
+++ b/src/tools/qtlibspatcher/qtlibspatchermain.cpp
@@ -47,8 +47,8 @@
 	const char * const oldInstallBase = QT_INSTALL_DIR;
 	const char * const oldSourceBase = QT_INSTALL_DIR;
 #else
-    const char * const oldSourceBase = "/home/berlin/dev/qt-4.4.3-temp/qt-x11-opensource-src-4.4.3";
-    const char * const oldInstallBase = "/home/berlin/dev/qt-4.4.3-shipping/qt";
+    const char * const oldSourceBase = "/home/berlin/dev/qt-4.5.0-temp/qt-x11-opensource-src-4.5.0";
+    const char * const oldInstallBase = "/home/berlin/dev/qt-4.5.0-shipping/qt";
 #endif
 
 
@@ -437,24 +437,24 @@ bool patchDebugLibrariesWithQtPath(const char *baseQtPath)
         {"/examples/script/defaultprototypes/defaultprototypes.debug", "/examples/script/defaultprototypes"},
         {"/examples/script/qscript/qscript.debug", "/examples/script/qscript"},
         {"/examples/script/tetrix/tetrix.debug", "/examples/script/tetrix"},
-        {"/lib/libQtTest.so.4.4.3.debug", "/lib"},
-        {"/lib/libQtDesignerComponents.so.4.4.3.debug", "/lib"},
-        {"/lib/libQtScript.so.4.4.3.debug", "/lib"},
-        {"/lib/libQtDesigner.so.4.4.3.debug", "/lib"},
-        {"/lib/libQtGui.so.4.4.3.debug", "/lib"},
-        {"/lib/libQtSvg.so.4.4.3.debug", "/lib"},
-        {"/lib/libQtXml.so.4.4.3.debug", "/lib"},
-        {"/lib/libQtCLucene.so.4.4.3.debug", "/lib"},
-        {"/lib/libQtCore.so.4.4.3.debug", "/lib"},
-        {"/lib/libQtDBus.so.4.4.3.debug", "/lib"},
-        {"/lib/libQtXmlPatterns.so.4.4.3.debug", "/lib"},
-        {"/lib/libQtHelp.so.4.4.3.debug", "/lib"},
-        {"/lib/libQtSql.so.4.4.3.debug", "/lib"},
-        {"/lib/libQtNetwork.so.4.4.3.debug", "/lib"},
-        {"/lib/libQtOpenGL.so.4.4.3.debug", "/lib"},
-        {"/lib/libQt3Support.so.4.4.3.debug", "/lib"},
-        {"/lib/libQtAssistantClient.so.4.4.3.debug", "/lib"},
-        {"/lib/libQtWebKit.so.4.4.3.debug", "/lib"},
+        {"/lib/libQtTest.so.4.5.0.debug", "/lib"},
+        {"/lib/libQtDesignerComponents.so.4.5.0.debug", "/lib"},
+        {"/lib/libQtScript.so.4.5.0.debug", "/lib"},
+        {"/lib/libQtDesigner.so.4.5.0.debug", "/lib"},
+        {"/lib/libQtGui.so.4.5.0.debug", "/lib"},
+        {"/lib/libQtSvg.so.4.5.0.debug", "/lib"},
+        {"/lib/libQtXml.so.4.5.0.debug", "/lib"},
+        {"/lib/libQtCLucene.so.4.5.0.debug", "/lib"},
+        {"/lib/libQtCore.so.4.5.0.debug", "/lib"},
+        {"/lib/libQtDBus.so.4.5.0.debug", "/lib"},
+        {"/lib/libQtXmlPatterns.so.4.5.0.debug", "/lib"},
+        {"/lib/libQtHelp.so.4.5.0.debug", "/lib"},
+        {"/lib/libQtSql.so.4.5.0.debug", "/lib"},
+        {"/lib/libQtNetwork.so.4.5.0.debug", "/lib"},
+        {"/lib/libQtOpenGL.so.4.5.0.debug", "/lib"},
+        {"/lib/libQt3Support.so.4.5.0.debug", "/lib"},
+        {"/lib/libQtAssistantClient.so.4.5.0.debug", "/lib"},
+        {"/lib/libQtWebKit.so.4.5.0.debug", "/lib"},
         {"/demos/spreadsheet/spreadsheet.debug", "/demos/spreadsheet"},
         {"/demos/composition/composition.debug", "/demos/composition"},
         {"/demos/gradients/gradients.debug", "/demos/gradients"},
@@ -533,24 +533,24 @@ bool patchDebugLibrariesWithQtPath(const char *baseQtPath)
         {"/examples/script/calculator/calculator.debug", "/tools/designer/src/uitools"},
         {"/examples/script/tetrix/tetrix.debug", "/tools/designer/src/uitools"},
 
-        {"/lib/libQtTest.so.4.4.3.debug", "/src/testlib"},
-        {"/lib/libQtDesignerComponents.so.4.4.3.debug", "/tools/designer/src/components"},
-        {"/lib/libQtScript.so.4.4.3.debug", "/src/script"},
-        {"/lib/libQtDesigner.so.4.4.3.debug", "/tools/designer/src/lib"},
-        {"/lib/libQtGui.so.4.4.3.debug", "/src/gui"},
-        {"/lib/libQtSvg.so.4.4.3.debug", "/src/svg"},
-        {"/lib/libQtXml.so.4.4.3.debug", "/src/xml"},
-        {"/lib/libQtCLucene.so.4.4.3.debug", "/tools/assistant/lib/fulltextsearch"},
-        {"/lib/libQtCore.so.4.4.3.debug", "/src/corelib"},
-        {"/lib/libQtDBus.so.4.4.3.debug", "/src/dbus"},
-        {"/lib/libQtXmlPatterns.so.4.4.3.debug", "/src/xmlpatterns"},
-        {"/lib/libQtHelp.so.4.4.3.debug", "/tools/assistant/lib"},
-        {"/lib/libQtSql.so.4.4.3.debug", "/src/sql"},
-        {"/lib/libQtNetwork.so.4.4.3.debug", "/src/network"},
-        {"/lib/libQtOpenGL.so.4.4.3.debug", "/src/opengl"},
-        {"/lib/libQt3Support.so.4.4.3.debug", "/src/qt3support"},
-        {"/lib/libQtAssistantClient.so.4.4.3.debug", "/tools/assistant/compat/lib"},
-        {"/lib/libQtWebKit.so.4.4.3.debug", "/src/3rdparty/webkit/WebCore"},
+        {"/lib/libQtTest.so.4.5.0.debug", "/src/testlib"},
+        {"/lib/libQtDesignerComponents.so.4.5.0.debug", "/tools/designer/src/components"},
+        {"/lib/libQtScript.so.4.5.0.debug", "/src/script"},
+        {"/lib/libQtDesigner.so.4.5.0.debug", "/tools/designer/src/lib"},
+        {"/lib/libQtGui.so.4.5.0.debug", "/src/gui"},
+        {"/lib/libQtSvg.so.4.5.0.debug", "/src/svg"},
+        {"/lib/libQtXml.so.4.5.0.debug", "/src/xml"},
+        {"/lib/libQtCLucene.so.4.5.0.debug", "/tools/assistant/lib/fulltextsearch"},
+        {"/lib/libQtCore.so.4.5.0.debug", "/src/corelib"},
+        {"/lib/libQtDBus.so.4.5.0.debug", "/src/dbus"},
+        {"/lib/libQtXmlPatterns.so.4.5.0.debug", "/src/xmlpatterns"},
+        {"/lib/libQtHelp.so.4.5.0.debug", "/tools/assistant/lib"},
+        {"/lib/libQtSql.so.4.5.0.debug", "/src/sql"},
+        {"/lib/libQtNetwork.so.4.5.0.debug", "/src/network"},
+        {"/lib/libQtOpenGL.so.4.5.0.debug", "/src/opengl"},
+        {"/lib/libQt3Support.so.4.5.0.debug", "/src/qt3support"},
+        {"/lib/libQtAssistantClient.so.4.5.0.debug", "/tools/assistant/compat/lib"},
+        {"/lib/libQtWebKit.so.4.5.0.debug", "/src/3rdparty/webkit/WebCore"},
 
         {"/demos/composition/composition.debug", "/demos/shared"},
         {"/demos/gradients/gradients.debug", "/demos/shared"},
diff --git a/tests/manual/gdbdebugger/simple/app.cpp b/tests/manual/gdbdebugger/simple/app.cpp
index 76eadf2d9fdc8df681a926d7bdc9dfc467c5e071..2a605e26a2089fe989590afbfb64785ba6dcd3d7 100644
--- a/tests/manual/gdbdebugger/simple/app.cpp
+++ b/tests/manual/gdbdebugger/simple/app.cpp
@@ -215,14 +215,17 @@ void testIO()
     qDebug() << "qDebug() 1";
     qDebug() << "qDebug() 2";
     qDebug() << "qDebug() 3";
+    qDebug() << "qDebug <foo & bar>";
 
     std::cout << "std::cout @@ 1" << std::endl;
     std::cout << "std::cout @@ 2\n";
     std::cout << "std::cout @@ 3" << std::endl;
+    std::cout << "std::cout <foo & bar>\n";
 
     std::cerr << "std::cerr 1\n";
     std::cerr << "std::cerr 2\n";
     std::cerr << "std::cerr 3\n";
+    std::cerr << "std::cerr <foo & bar>\n";
 }
 
 void testQLinkedList()
@@ -961,7 +964,7 @@ void testHidden()
 
 int main(int argc, char *argv[])
 {
-    //testIO();
+    testIO();
     testHidden();
     testArray();
 
diff --git a/tests/manual/gdbdebugger/simple/app/app.pro b/tests/manual/gdbdebugger/simple/app/app.pro
index bf168bab10669aac57963d2352e3f01d3ed74cac..2210857b6a2cf2a7adaafea0b08f739034cac8df 100644
--- a/tests/manual/gdbdebugger/simple/app/app.pro
+++ b/tests/manual/gdbdebugger/simple/app/app.pro
@@ -7,3 +7,5 @@ DESTDIR = ..
 # Input
 SOURCES += ../app.cpp
 QT += network
+
+message("this says <foo & bar>")