From e3d99d5147e42a5ab1760291061275febdf329c7 Mon Sep 17 00:00:00 2001
From: mread <qt-info@nokia.com>
Date: Thu, 23 Sep 2010 09:25:13 +0100
Subject: new allocator tidy up and winscw freeze

renamed headers
diabaled new allocator for winscw builds, and froze the heap creation
export

Task-number: QT-3967
Reviewed-by: Shane Kearns
---
 src/corelib/arch/symbian/debugfunction.cpp        | 10 +--
 src/corelib/arch/symbian/heap_hybrid.cpp          |  2 +-
 src/corelib/arch/symbian/heap_hybrid_p.h          |  5 +-
 src/corelib/arch/symbian/qt_heapsetup_symbian.cpp |  4 +-
 src/corelib/arch/symbian/qt_hybridHeap_symbian.h  | 76 -----------------------
 src/corelib/global/qglobal.h                      |  2 +-
 src/s60installs/bwins/QtCoreu.def                 |  1 +
 7 files changed, 13 insertions(+), 87 deletions(-)
 delete mode 100644 src/corelib/arch/symbian/qt_hybridHeap_symbian.h

diff --git a/src/corelib/arch/symbian/debugfunction.cpp b/src/corelib/arch/symbian/debugfunction.cpp
index 62adde0..12ffcd3 100644
--- a/src/corelib/arch/symbian/debugfunction.cpp
+++ b/src/corelib/arch/symbian/debugfunction.cpp
@@ -39,7 +39,7 @@
 **
 ****************************************************************************/
 
-#include "qt_hybridheap_symbian.h"
+#include "qt_hybridheap_symbian_p.h"
 
 #ifdef QT_USE_NEW_SYMBIAN_ALLOCATOR
 
@@ -79,11 +79,11 @@ TInt RHybridHeap::DebugFunction(TInt aFunc, TAny* a1, TAny* a2)
             __DEBUG_ONLY(DoSetAllocFail((TAllocFail)(TInt)a1, (TInt)a2));
             break;
 
-#ifdef SYMBIAN4_DEBUG_FUNCTIONS_SUPPORTED
+#ifndef SYMBIAN4_ALLOCATOR_UNWANTED_CODE
         case RAllocator::EGetFail:
             __DEBUG_ONLY(r = iFailType);
             break;
-#endif // SYMBIAN4_DEBUG_FUNCTIONS_SUPPORTED
+#endif // SYMBIAN4_ALLOCATOR_UNWANTED_CODE
 
         case RAllocator::ESetBurstFail:
 #if _DEBUG
@@ -107,7 +107,7 @@ TInt RHybridHeap::DebugFunction(TInt aFunc, TAny* a1, TAny* a2)
             break;
             }
 
-#ifdef SYMBIAN4_DEBUG_FUNCTIONS_SUPPORTED
+#ifndef SYMBIAN4_ALLOCATOR_UNWANTED_CODE
 		case RAllocator::EGetSize:
 			{
 			r = iChunkSize - sizeof(RHybridHeap);
@@ -193,7 +193,7 @@ TInt RHybridHeap::DebugFunction(TInt aFunc, TAny* a1, TAny* a2)
             break;
 			}
 #endif  // __KERNEL_MODE            
-#endif // SYMBIAN4_DEBUG_FUNCTIONS_SUPPORTED
+#endif // SYMBIAN4_ALLOCATOR_UNWANTED_CODE
 
         default:
             return KErrNotSupported;
diff --git a/src/corelib/arch/symbian/heap_hybrid.cpp b/src/corelib/arch/symbian/heap_hybrid.cpp
index 4b514b2..2471f79 100644
--- a/src/corelib/arch/symbian/heap_hybrid.cpp
+++ b/src/corelib/arch/symbian/heap_hybrid.cpp
@@ -39,7 +39,7 @@
 **
 ****************************************************************************/
 
-#include "qt_hybridheap_symbian.h"
+#include "qt_hybridheap_symbian_p.h"
 
 #ifdef QT_USE_NEW_SYMBIAN_ALLOCATOR
 
diff --git a/src/corelib/arch/symbian/heap_hybrid_p.h b/src/corelib/arch/symbian/heap_hybrid_p.h
index bb6fd31..b765417 100644
--- a/src/corelib/arch/symbian/heap_hybrid_p.h
+++ b/src/corelib/arch/symbian/heap_hybrid_p.h
@@ -94,9 +94,8 @@ class RHybridHeap : public RHeap
 	{
 
 public:
-// MGR CHANGE
-typedef void (*TWalkFunc)(TAny*, RHeap::TCellType, TAny*, TInt);
-
+    // declaration copied from RHeap to make it visible
+    typedef void (*TWalkFunc)(TAny*, RHeap::TCellType, TAny*, TInt);
 
 	struct HeapInfo
 		{
diff --git a/src/corelib/arch/symbian/qt_heapsetup_symbian.cpp b/src/corelib/arch/symbian/qt_heapsetup_symbian.cpp
index 3d92ccd..a619252 100644
--- a/src/corelib/arch/symbian/qt_heapsetup_symbian.cpp
+++ b/src/corelib/arch/symbian/qt_heapsetup_symbian.cpp
@@ -39,7 +39,7 @@
 **
 ****************************************************************************/
 
-#include "qt_hybridheap_symbian.h"
+#include "qt_hybridheap_symbian_p.h"
 
 #ifdef QT_USE_NEW_SYMBIAN_ALLOCATOR
 
@@ -86,6 +86,8 @@ void Panic(TCdtPanic reason)
 
 #else /* QT_USE_NEW_SYMBIAN_ALLOCATOR */
 
+#include <e32std.h>
+
 /*
  * \internal
  * Called from the qtmain.lib application wrapper.
diff --git a/src/corelib/arch/symbian/qt_hybridHeap_symbian.h b/src/corelib/arch/symbian/qt_hybridHeap_symbian.h
deleted file mode 100644
index 872c4ec..0000000
--- a/src/corelib/arch/symbian/qt_hybridHeap_symbian.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT_HYBRIDHEAP_SYMBIAN_H
-#define QT_HYBRIDHEAP_SYMBIAN_H
-
-#include <qglobal.h>
-
-#ifdef QT_USE_NEW_SYMBIAN_ALLOCATOR
-
-#include "common_p.h"
-#ifdef __KERNEL_MODE__
-#include <kernel/kern_priv.h>
-#endif
-#include "dla_p.h"
-#ifndef __KERNEL_MODE__
-#include "slab_p.h"
-#include "page_alloc_p.h"
-#endif
-#include "heap_hybrid_p.h"
-
-// disabling Symbian import/export macros to prevent code copied from Symbian^4 from exporting symbols
-#undef UIMPORT_C
-#define UIMPORT_C
-#undef IMPORT_C
-#define IMPORT_C
-#undef UEXPORT_C
-#define UEXPORT_C
-#undef EXPORT_C
-#define EXPORT_C
-#undef IMPORT_D
-#define IMPORT_D
-
-#undef SYMBIAN4_DEBUG_FUNCTIONS_SUPPORTED
-
-#endif /* QT_USE_NEW_SYMBIAN_ALLOCATOR */
-
-#endif /* QT_HYBRIDHEAP_SYMBIAN_H */
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index 45ca28e..3c177ae 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -2451,7 +2451,7 @@ QT3_SUPPORT Q_CORE_EXPORT const char *qInstallPathSysconf();
 #endif
 #endif
 
-#ifndef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS
+#if !defined(SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS) && !defined(__WINSCW__)
 //Enable the (backported) new allocator. When it is available in OS,
 //this flag should be disabled for that OS version onward
 #define QT_USE_NEW_SYMBIAN_ALLOCATOR
diff --git a/src/s60installs/bwins/QtCoreu.def b/src/s60installs/bwins/QtCoreu.def
index 0f66d72..5eeb244 100644
--- a/src/s60installs/bwins/QtCoreu.def
+++ b/src/s60installs/bwins/QtCoreu.def
@@ -4482,4 +4482,5 @@ EXPORTS
 	?textDirection@QLocale@@QBE?AW4LayoutDirection@Qt@@XZ @ 4481 NONAME ; enum Qt::LayoutDirection QLocale::textDirection(void) const
 	?msecsSinceReference@QElapsedTimer@@QBE_JXZ @ 4482 NONAME ; long long QElapsedTimer::msecsSinceReference(void) const
 	?selectThread@QEventDispatcherSymbian@@AAEAAVQSelectThread@@XZ @ 4483 NONAME ; class QSelectThread & QEventDispatcherSymbian::selectThread(void)
+	?qt_symbian_SetupThreadHeap@@YAHHAAUSStdEpocThreadCreateInfo@@@Z @ 4484 NONAME ; int qt_symbian_SetupThreadHeap(int, struct SStdEpocThreadCreateInfo &)
 
-- 
cgit v0.12

