src/gui/kernel/qwidget_s60.cpp
branchRCL_3
changeset 4 3b1da2848fc7
parent 3 41300fa6a67c
child 8 3f74d0d4af4c
--- a/src/gui/kernel/qwidget_s60.cpp	Tue Feb 02 00:43:10 2010 +0200
+++ b/src/gui/kernel/qwidget_s60.cpp	Fri Feb 19 23:40:16 2010 +0200
@@ -1,6 +1,6 @@
 /****************************************************************************
 **
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
 **
@@ -389,9 +389,13 @@
 
             if (!isOpaque) {
                 RWindow *const window = static_cast<RWindow *>(drawableWindow);
+#ifdef Q_SYMBIAN_SEMITRANSPARENT_BG_SURFACE
+                window->SetSurfaceTransparency(true);
+#else
                 const TDisplayMode displayMode = static_cast<TDisplayMode>(window->SetRequiredDisplayMode(EColor16MA));
                 if (window->SetTransparencyAlphaChannel() == KErrNone)
                     window->SetBackgroundColor(TRgb(255, 255, 255, 0));
+#endif
             }
         }
 
@@ -707,12 +711,16 @@
 
     RWindow *const window = static_cast<RWindow *>(q->effectiveWinId()->DrawableWindow());
 
+#ifdef Q_SYMBIAN_SEMITRANSPARENT_BG_SURFACE
+    window->SetSurfaceTransparency(!isOpaque);
+#else
     if (!isOpaque) {
         const TDisplayMode displayMode = static_cast<TDisplayMode>(window->SetRequiredDisplayMode(EColor16MA));
         if (window->SetTransparencyAlphaChannel() == KErrNone)
             window->SetBackgroundColor(TRgb(255, 255, 255, 0));
     } else
         window->SetTransparentRegion(TRegionFix<1>());
+#endif
 }
 
 void QWidgetPrivate::setWindowIcon_sys(bool forceReset)
@@ -881,6 +889,7 @@
     extra->activated = 0;
     extra->nativePaintMode = QWExtra::Default;
     extra->receiveNativePaintEvents = 0;
+    extra->inExpose = 0;
 }
 
 void QWidgetPrivate::deleteSysExtra()
@@ -1158,7 +1167,7 @@
         if (d->ic) {
             delete d->ic;
         } else {
-            QInputContext *ic = inputContext();
+            QInputContext *ic = QApplicationPrivate::inputContext;
             if (ic) {
                 ic->widgetDestroyed(this);
             }