summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/3rdparty/libpng.pri17
-rw-r--r--src/3rdparty/libpng/png.c3
-rw-r--r--src/3rdparty/libpng/png.h11
-rw-r--r--src/3rdparty/libpng/pngconf.h3
-rw-r--r--src/3rdparty/libpng/pngdebug.h6
-rw-r--r--src/3rdparty/libpng/pngerror.c4
-rw-r--r--src/3rdparty/libpng/pngget.c3
-rw-r--r--src/3rdparty/libpng/pnginfo.h3
-rw-r--r--src/3rdparty/libpng/pngmem.c3
-rw-r--r--src/3rdparty/libpng/pngpread.c3
-rw-r--r--src/3rdparty/libpng/pngpriv.h19
-rw-r--r--src/3rdparty/libpng/pngread.c3
-rw-r--r--src/3rdparty/libpng/pngrio.c2
-rw-r--r--src/3rdparty/libpng/pngrtran.c3
-rw-r--r--src/3rdparty/libpng/pngrutil.c6
-rw-r--r--src/3rdparty/libpng/pngset.c3
-rw-r--r--src/3rdparty/libpng/pngstruct.h2
-rw-r--r--src/3rdparty/libpng/pngtest.c7
-rw-r--r--src/3rdparty/libpng/pngtrans.c3
-rw-r--r--src/3rdparty/libpng/pngwio.c3
-rw-r--r--src/3rdparty/libpng/pngwrite.c3
-rw-r--r--src/3rdparty/libpng/pngwtran.c3
-rw-r--r--src/3rdparty/libpng/pngwutil.c3
-rw-r--r--src/3rdparty/libpng/privatepng.cpp16
-rw-r--r--src/3rdparty/webkit/Source/JavaScriptCore/jit/JITStubs.cpp8
-rw-r--r--src/3rdparty/webkit/Source/ThirdParty/ANGLE/src/common/debug.h8
-rw-r--r--src/3rdparty/webkit/Source/ThirdParty/ANGLE/src/libEGL/libEGL.cpp2
-rw-r--r--src/3rdparty/webkit/Source/ThirdParty/ANGLE/src/libGLESv2/libGLESv2.cpp4
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/ChangeLog0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.cpp0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.h0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.h0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.cpp0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.h0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.cpp0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.h0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.cpp0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.h0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/inspector/front-end/CSSKeywordCompletions.js0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/inspector/front-end/CookieParser.js0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/inspector/front-end/ExtensionAPISchema.json0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/inspector/front-end/SearchController.js0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/inspector/front-end/Toolbar.js0
-rw-r--r--src/3rdparty/webkit/Source/WebCore/platform/sql/SQLiteFileSystem.cpp4
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.cpp0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.h0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.cpp0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.h0
-rw-r--r--src/3rdparty/webkit/Source/WebKit/qt/QtWebKit.pro2
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebKit2/UIProcess/win/WebUndoClient.h0
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeHigh.pngbin3026 -> 3026 bytes
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeLow.pngbin2913 -> 2913 bytes
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebKit2/win/fsVideoExitFullscreen.pngbin2940 -> 2940 bytes
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebKit2/win/fsVideoPause.pngbin2832 -> 2832 bytes
-rw-r--r--[-rwxr-xr-x]src/3rdparty/webkit/Source/WebKit2/win/fsVideoPlay.pngbin2906 -> 2906 bytes
-rw-r--r--src/corelib/global/qglobal.cpp13
-rw-r--r--src/corelib/io/qfile.cpp3
-rw-r--r--src/corelib/kernel/qcore_symbian_p.cpp32
-rw-r--r--src/corelib/kernel/qcore_symbian_p.h22
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian.cpp27
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian_p.h4
-rw-r--r--src/corelib/kernel/qobjectdefs.h2
-rw-r--r--src/corelib/plugin/qlibrary.cpp2
-rw-r--r--src/corelib/plugin/qplugin.h8
-rw-r--r--src/dbus/qdbusdemarshaller.cpp24
-rw-r--r--src/declarative/debugger/qdeclarativedebugserver.cpp15
-rw-r--r--src/declarative/graphicsitems/qdeclarativetext.cpp2
-rw-r--r--src/declarative/qml/qdeclarativecomponent.cpp102
-rw-r--r--src/declarative/qml/qdeclarativeengine.cpp4
-rw-r--r--src/declarative/qml/qpodvector_p.h4
-rw-r--r--src/gui/graphicsview/qgraphicslayoutitem.cpp70
-rw-r--r--src/gui/image/qimagereader.cpp5
-rw-r--r--src/gui/image/qpnghandler.cpp1
-rw-r--r--src/gui/image/qtiffhandler.cpp6
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_p.h3
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_s60.cpp201
-rw-r--r--src/gui/itemviews/qtreeview.cpp20
-rw-r--r--src/gui/kernel/qapplication_s60.cpp108
-rw-r--r--src/gui/kernel/qclipboard_s60.cpp3
-rw-r--r--src/gui/kernel/qsoftkeymanager_s60.cpp9
-rw-r--r--src/gui/kernel/qt_s60_p.h4
-rw-r--r--src/gui/kernel/qwidget_x11.cpp11
-rw-r--r--src/gui/painting/painting.pri6
-rw-r--r--src/gui/painting/qbackingstore.cpp2
-rw-r--r--src/gui/painting/qgraphicssystem_runtime.cpp10
-rw-r--r--src/gui/painting/qgraphicssystemex_symbian.cpp2
-rw-r--r--src/gui/painting/qgraphicssystemfactory.cpp2
-rw-r--r--src/gui/painting/qgraphicssystemhelper_symbian.cpp141
-rw-r--r--src/gui/painting/qgraphicssystemhelper_symbian.h82
-rw-r--r--[-rwxr-xr-x]src/imports/shaders/glfunctions.h0
-rw-r--r--[-rwxr-xr-x]src/imports/shaders/shadereffectitem.cpp0
-rw-r--r--src/network/bearer/qnetworkconfigmanager.cpp66
-rw-r--r--src/network/bearer/qnetworkconfigmanager_p.h3
-rw-r--r--src/network/kernel/qnetworkproxy.cpp6
-rw-r--r--src/network/kernel/qnetworkproxy_symbian.cpp27
-rw-r--r--src/network/socket/qlocalserver_unix.cpp8
-rw-r--r--src/network/ssl/qsslsocket_openssl.cpp4
-rw-r--r--src/network/ssl/qsslsocket_openssl_symbols.cpp8
-rw-r--r--src/opengl/qgl_qpa.cpp2
-rw-r--r--src/opengl/qgltexturepool.cpp6
-rw-r--r--src/opengl/qwindowsurface_gl.cpp2
-rw-r--r--src/openvg/qvgimagepool.cpp13
-rw-r--r--src/openvg/qvgimagepool_p.h4
-rw-r--r--src/plugins/bearer/symbian/qnetworksession_impl.cpp59
-rw-r--r--src/plugins/bearer/symbian/qnetworksession_impl.h3
-rw-r--r--src/plugins/imageformats/imageformats.pro1
-rw-r--r--src/plugins/imageformats/tga/main.cpp95
-rw-r--r--src/plugins/imageformats/tga/qtgafile.cpp266
-rw-r--r--src/plugins/imageformats/tga/qtgafile.h157
-rw-r--r--src/plugins/imageformats/tga/qtgahandler.cpp122
-rw-r--r--src/plugins/imageformats/tga/qtgahandler.h74
-rw-r--r--src/plugins/imageformats/tga/tga.pro16
-rw-r--r--src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp2
-rw-r--r--src/plugins/inputmethods/imsw-multi/qmultiinputcontext.h2
-rw-r--r--src/plugins/platforms/openkode/qopenkodewindow.cpp2
-rw-r--r--[-rwxr-xr-x]src/plugins/platforms/uikit/examples/flickrdemo/flickrdemo.xcodeproj/project.pbxproj0
-rw-r--r--[-rwxr-xr-x]src/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj0
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.cpp2
-rw-r--r--src/s60installs/bwins/QtCoreu.def4
-rw-r--r--src/s60installs/bwins/QtGuiu.def462
-rw-r--r--src/s60installs/bwins/QtNetworku.def2
-rw-r--r--src/s60installs/bwins/QtOpenGLu.def2
-rw-r--r--src/s60installs/bwins/QtOpenVGu.def2
-rw-r--r--src/s60installs/eabi/QtCoreu.def4
-rw-r--r--src/s60installs/eabi/QtGuiu.def8
-rw-r--r--src/s60installs/eabi/QtNetworku.def2
-rw-r--r--src/s60installs/eabi/QtOpenGLu.def1
-rw-r--r--src/s60installs/eabi/QtOpenVGu.def2
-rw-r--r--[-rwxr-xr-x]src/s60installs/s60installs.pro0
-rw-r--r--src/sql/drivers/sqlite/qsql_sqlite.cpp18
-rw-r--r--src/sql/kernel/qsqlquery.cpp6
-rw-r--r--src/testlib/3rdparty/valgrind_p.h4
-rw-r--r--src/testlib/qxmltestlogger.cpp4
-rw-r--r--src/xml/dom/qdom.cpp6
135 files changed, 1985 insertions, 602 deletions
diff --git a/src/3rdparty/libpng.pri b/src/3rdparty/libpng.pri
index 7ac1910..81966cb 100644
--- a/src/3rdparty/libpng.pri
+++ b/src/3rdparty/libpng.pri
@@ -1,20 +1,7 @@
DEFINES *= QT_USE_BUNDLED_LIBPNG
!isEqual(QT_ARCH, i386):!isEqual(QT_ARCH, x86_64):DEFINES += PNG_NO_ASSEMBLER_CODE
INCLUDEPATH += $$PWD/libpng
-SOURCES += $$PWD/libpng/png.c \
- $$PWD/libpng/pngerror.c \
- $$PWD/libpng/pngget.c \
- $$PWD/libpng/pngmem.c \
- $$PWD/libpng/pngpread.c \
- $$PWD/libpng/pngread.c \
- $$PWD/libpng/pngrio.c \
- $$PWD/libpng/pngrtran.c \
- $$PWD/libpng/pngrutil.c \
- $$PWD/libpng/pngset.c \
- $$PWD/libpng/pngtrans.c \
- $$PWD/libpng/pngwio.c \
- $$PWD/libpng/pngwrite.c \
- $$PWD/libpng/pngwtran.c \
- $$PWD/libpng/pngwutil.c
+
+SOURCES += $$PWD/libpng/privatepng.cpp
include($$PWD/zlib_dependency.pri)
diff --git a/src/3rdparty/libpng/png.c b/src/3rdparty/libpng/png.c
index eed3136..db37732 100644
--- a/src/3rdparty/libpng/png.c
+++ b/src/3rdparty/libpng/png.c
@@ -13,6 +13,8 @@
#include "pngpriv.h"
+namespace PrivatePng {
+
/* Generate a compiler error if there is an old png.h in the search path. */
typedef png_libpng_version_1_5_4 Your_png_h_is_not_version_1_5_4;
@@ -2420,3 +2422,4 @@ png_build_gamma_table(png_structp png_ptr, int bit_depth)
}
#endif /* READ_GAMMA */
#endif /* defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED) */
+} // namespace PrivatePng
diff --git a/src/3rdparty/libpng/png.h b/src/3rdparty/libpng/png.h
index c655a51..69d9538 100644
--- a/src/3rdparty/libpng/png.h
+++ b/src/3rdparty/libpng/png.h
@@ -464,11 +464,6 @@
#ifndef PNG_VERSION_INFO_ONLY
-/* Inhibit C++ name-mangling for libpng functions but not for system calls. */
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
/* Version information for C files, stored in png.c. This had better match
* the version above.
*/
@@ -520,6 +515,7 @@ extern "C" {
* See pngconf.h for base types that vary by machine/system
*/
+namespace PrivatePng {
/* This triggers a compiler error in png.c, if png.c and png.h
* do not agree upon the version number.
*/
@@ -2579,10 +2575,7 @@ PNG_EXPORT(207, void, png_save_uint_16, (png_bytep buf, unsigned int i));
PNG_EXPORT_LAST_ORDINAL(229);
#endif
-#ifdef __cplusplus
-}
-#endif
-
#endif /* PNG_VERSION_INFO_ONLY */
/* Do not put anything past this line */
+} // namespace PrivatePng
#endif /* PNG_H */
diff --git a/src/3rdparty/libpng/pngconf.h b/src/3rdparty/libpng/pngconf.h
index b02f2a0..754f91f 100644
--- a/src/3rdparty/libpng/pngconf.h
+++ b/src/3rdparty/libpng/pngconf.h
@@ -64,6 +64,7 @@
# endif
#endif
+namespace PrivatePng {
/* COMPILER SPECIFIC OPTIONS.
*
* These options are provided so that a variety of difficult compilers
@@ -627,5 +628,5 @@ typedef char FAR * FAR * FAR * png_charppp;
# endif
# endif
#endif
-
+} // namespace PrivatePng
#endif /* PNGCONF_H */
diff --git a/src/3rdparty/libpng/pngdebug.h b/src/3rdparty/libpng/pngdebug.h
index 16f81fd..4547b7d 100644
--- a/src/3rdparty/libpng/pngdebug.h
+++ b/src/3rdparty/libpng/pngdebug.h
@@ -85,7 +85,7 @@
# define png_debug(l,m) \
do { \
int num_tabs=l; \
- fprintf(PNG_DEBUG_FILE,"%s"m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \
+ fprintf(PNG_DEBUG_FILE,"%s" m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \
(num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":"")))); \
} while (0)
# endif
@@ -93,7 +93,7 @@
# define png_debug1(l,m,p1) \
do { \
int num_tabs=l; \
- fprintf(PNG_DEBUG_FILE,"%s"m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \
+ fprintf(PNG_DEBUG_FILE,"%s" m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \
(num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))),p1); \
} while (0)
# endif
@@ -101,7 +101,7 @@
# define png_debug2(l,m,p1,p2) \
do { \
int num_tabs=l; \
- fprintf(PNG_DEBUG_FILE,"%s"m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \
+ fprintf(PNG_DEBUG_FILE,"%s" m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \
(num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))),p1,p2); \
} while (0)
# endif
diff --git a/src/3rdparty/libpng/pngerror.c b/src/3rdparty/libpng/pngerror.c
index 4d4ceba..5559cfb 100644
--- a/src/3rdparty/libpng/pngerror.c
+++ b/src/3rdparty/libpng/pngerror.c
@@ -18,6 +18,8 @@
#include "pngpriv.h"
+namespace PrivatePng {
+
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
static PNG_FUNCTION(void, png_default_error,PNGARG((png_structp png_ptr,
@@ -670,3 +672,5 @@ png_set_strip_error_numbers(png_structp png_ptr, png_uint_32 strip_mode)
}
#endif
#endif /* PNG_READ_SUPPORTED || PNG_WRITE_SUPPORTED */
+} // namespace PrivatePng
+
diff --git a/src/3rdparty/libpng/pngget.c b/src/3rdparty/libpng/pngget.c
index b5e5798..0f18370 100644
--- a/src/3rdparty/libpng/pngget.c
+++ b/src/3rdparty/libpng/pngget.c
@@ -14,6 +14,8 @@
#include "pngpriv.h"
+namespace PrivatePng {
+
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
png_uint_32 PNGAPI
@@ -1030,3 +1032,4 @@ png_get_io_chunk_name (png_structp png_ptr)
#endif /* ?PNG_IO_STATE_SUPPORTED */
#endif /* PNG_READ_SUPPORTED || PNG_WRITE_SUPPORTED */
+} // namespace PrivatePng
diff --git a/src/3rdparty/libpng/pnginfo.h b/src/3rdparty/libpng/pnginfo.h
index a33bfab..2ce4350 100644
--- a/src/3rdparty/libpng/pnginfo.h
+++ b/src/3rdparty/libpng/pnginfo.h
@@ -53,6 +53,7 @@
#ifndef PNGINFO_H
#define PNGINFO_H
+namespace PrivatePng {
struct png_info_def
{
/* the following are necessary for every PNG file */
@@ -266,4 +267,6 @@ defined(PNG_READ_BACKGROUND_SUPPORTED)
#endif
};
+
+} // namespace PrivatePng
#endif /* PNGINFO_H */
diff --git a/src/3rdparty/libpng/pngmem.c b/src/3rdparty/libpng/pngmem.c
index ea606d6..9f2e4df 100644
--- a/src/3rdparty/libpng/pngmem.c
+++ b/src/3rdparty/libpng/pngmem.c
@@ -19,6 +19,8 @@
#include "pngpriv.h"
+namespace PrivatePng {
+
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
/* Borland DOS special memory handler */
@@ -665,3 +667,4 @@ png_get_mem_ptr(png_const_structp png_ptr)
}
#endif /* PNG_USER_MEM_SUPPORTED */
#endif /* PNG_READ_SUPPORTED || PNG_WRITE_SUPPORTED */
+} // PrivatePng namespace
diff --git a/src/3rdparty/libpng/pngpread.c b/src/3rdparty/libpng/pngpread.c
index a50292a..26eb777 100644
--- a/src/3rdparty/libpng/pngpread.c
+++ b/src/3rdparty/libpng/pngpread.c
@@ -13,6 +13,8 @@
#include "pngpriv.h"
+namespace PrivatePng {
+
#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
/* Push model modes */
@@ -1854,3 +1856,4 @@ png_get_progressive_ptr(png_const_structp png_ptr)
return png_ptr->io_ptr;
}
#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
+} // namespace PrivatePng
diff --git a/src/3rdparty/libpng/pngpriv.h b/src/3rdparty/libpng/pngpriv.h
index ca2fb8c..be4146d 100644
--- a/src/3rdparty/libpng/pngpriv.h
+++ b/src/3rdparty/libpng/pngpriv.h
@@ -46,6 +46,7 @@
/* This is required for the definition of abort(), used as a last ditch
* error handler when all else fails.
*/
+
#include <stdlib.h>
#define PNGLIB_BUILD
@@ -63,10 +64,12 @@
#include "pnginfo.h"
#include "pngstruct.h"
+namespace PrivatePng {
/* This is used for 16 bit gamma tables - only the top level pointers are const,
* this could be changed:
*/
typedef PNG_CONST png_uint_16p FAR * png_const_uint_16pp;
+} // namespace PrivatePng
/* Added at libpng-1.2.9 */
/* Moved to pngpriv.h at libpng-1.5.0 */
@@ -429,6 +432,7 @@ typedef PNG_CONST png_uint_16p FAR * png_const_uint_16pp;
* NOTE: by default this is off - the macro is not used - because the
* function call saves a lot of code.
*/
+namespace PrivatePng {
#ifdef PNG_FIXED_POINT_MACRO_SUPPORTED
#define png_fixed(png_ptr, fp, s) ((fp) <= 21474 && (fp) >= -21474 ?\
((png_fixed_point)(100000 * (fp))) : (png_fixed_error(png_ptr, s),0))
@@ -437,6 +441,7 @@ PNG_EXTERN png_fixed_point png_fixed PNGARG((png_structp png_ptr, double fp,
png_const_charp text));
#endif
#endif
+} // namespace PrivatePng
/* Constant strings for known chunk types. If you need to add a chunk,
* define the name here, and add an invocation of the macro wherever it's
@@ -470,18 +475,14 @@ PNG_EXTERN png_fixed_point png_fixed PNGARG((png_structp png_ptr, double fp,
#define PNG_GAMMA_MAC_INVERSE 65909
#define PNG_GAMMA_sRGB_INVERSE 45455
-
-/* Inhibit C++ name-mangling for libpng functions but not for system calls. */
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
/* These functions are used internally in the code. They generally
* shouldn't be used unless you are writing code to add or replace some
* functionality in libpng. More information about most functions can
* be found in the files where the functions are located.
*/
+namespace PrivatePng {
+
/* Check the user version string for compatibility, returns false if the version
* numbers aren't compatible.
*/
@@ -1355,10 +1356,8 @@ PNG_EXTERN void png_build_gamma_table PNGARG((png_structp png_ptr,
/* Maintainer: Put new private prototypes here ^ and in libpngpf.3 */
-#include "pngdebug.h"
+} // PrivatePng
-#ifdef __cplusplus
-}
-#endif
+#include "pngdebug.h"
#endif /* PNGPRIV_H */
diff --git a/src/3rdparty/libpng/pngread.c b/src/3rdparty/libpng/pngread.c
index be3df47..662dd4a 100644
--- a/src/3rdparty/libpng/pngread.c
+++ b/src/3rdparty/libpng/pngread.c
@@ -16,6 +16,8 @@
#include "pngpriv.h"
+namespace PrivatePng {
+
#ifdef PNG_READ_SUPPORTED
/* Create a PNG structure for reading, and allocate any memory needed. */
@@ -1452,3 +1454,4 @@ png_read_png(png_structp png_ptr, png_infop info_ptr,
#endif /* PNG_INFO_IMAGE_SUPPORTED */
#endif /* PNG_SEQUENTIAL_READ_SUPPORTED */
#endif /* PNG_READ_SUPPORTED */
+} // namespace PrivatePng
diff --git a/src/3rdparty/libpng/pngrio.c b/src/3rdparty/libpng/pngrio.c
index e9c381c..3a6e536 100644
--- a/src/3rdparty/libpng/pngrio.c
+++ b/src/3rdparty/libpng/pngrio.c
@@ -20,6 +20,7 @@
#include "pngpriv.h"
+namespace PrivatePng {
#ifdef PNG_READ_SUPPORTED
/* Read the data from whatever input you are using. The default routine
@@ -174,3 +175,4 @@ png_set_read_fn(png_structp png_ptr, png_voidp io_ptr,
#endif
}
#endif /* PNG_READ_SUPPORTED */
+} // namespace PrivatePng
diff --git a/src/3rdparty/libpng/pngrtran.c b/src/3rdparty/libpng/pngrtran.c
index 4e0401a..d5b9d45 100644
--- a/src/3rdparty/libpng/pngrtran.c
+++ b/src/3rdparty/libpng/pngrtran.c
@@ -18,6 +18,8 @@
#include "pngpriv.h"
+namespace PrivatePng {
+
#ifdef PNG_READ_SUPPORTED
/* Set the action on getting a CRC error for an ancillary or critical chunk. */
@@ -4951,3 +4953,4 @@ png_do_read_intrapixel(png_row_infop row_info, png_bytep row)
}
#endif /* PNG_MNG_FEATURES_SUPPORTED */
#endif /* PNG_READ_SUPPORTED */
+} // namespace PrivatePng
diff --git a/src/3rdparty/libpng/pngrutil.c b/src/3rdparty/libpng/pngrutil.c
index daf3c5e..9b0ff3e 100644
--- a/src/3rdparty/libpng/pngrutil.c
+++ b/src/3rdparty/libpng/pngrutil.c
@@ -16,6 +16,7 @@
#include "pngpriv.h"
+namespace PrivatePng {
#ifdef PNG_READ_SUPPORTED
#define png_strtod(p,a,b) strtod(a,b)
@@ -458,7 +459,7 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
{
/* Success (maybe) - really uncompress the chunk. */
png_size_t new_size = 0;
- png_charp text = png_malloc_warn(png_ptr,
+ png_charp text = (png_charp) png_malloc_warn(png_ptr,
prefix_size + expanded_size + 1);
if (text != NULL)
@@ -501,7 +502,7 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
* amount of compressed data.
*/
{
- png_charp text = png_malloc_warn(png_ptr, prefix_size + 1);
+ png_charp text = (png_charp) png_malloc_warn(png_ptr, prefix_size + 1);
if (text != NULL)
{
@@ -3666,3 +3667,4 @@ defined(PNG_USER_TRANSFORM_PTR_SUPPORTED)
png_ptr->flags |= PNG_FLAG_ROW_INIT;
}
#endif /* PNG_READ_SUPPORTED */
+} // namespace PrivatePng
diff --git a/src/3rdparty/libpng/pngset.c b/src/3rdparty/libpng/pngset.c
index 7eaad7d..bb7c1ab 100644
--- a/src/3rdparty/libpng/pngset.c
+++ b/src/3rdparty/libpng/pngset.c
@@ -18,6 +18,8 @@
#include "pngpriv.h"
+namespace PrivatePng {
+
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
#ifdef PNG_bKGD_SUPPORTED
@@ -1224,3 +1226,4 @@ png_set_benign_errors(png_structp png_ptr, int allowed)
}
#endif /* PNG_BENIGN_ERRORS_SUPPORTED */
#endif /* PNG_READ_SUPPORTED || PNG_WRITE_SUPPORTED */
+} // namespace PrivatePng
diff --git a/src/3rdparty/libpng/pngstruct.h b/src/3rdparty/libpng/pngstruct.h
index 93b2b3e..d984461 100644
--- a/src/3rdparty/libpng/pngstruct.h
+++ b/src/3rdparty/libpng/pngstruct.h
@@ -26,6 +26,7 @@
*/
#include "zlib.h"
+namespace PrivatePng {
struct png_struct_def
{
#ifdef PNG_SETJMP_SUPPORTED
@@ -334,4 +335,5 @@ struct png_struct_def
png_uint_32 io_state;
#endif
};
+} // namespace PrivatePng
#endif /* PNGSTRUCT_H */
diff --git a/src/3rdparty/libpng/pngtest.c b/src/3rdparty/libpng/pngtest.c
index 9084ada..1a9f8db 100644
--- a/src/3rdparty/libpng/pngtest.c
+++ b/src/3rdparty/libpng/pngtest.c
@@ -32,13 +32,13 @@
*/
#define _POSIX_SOURCE 1
-
#include "zlib.h"
#include "png.h"
/* Copied from pngpriv.h but only used in error messages below. */
#ifndef PNG_ZBUF_SIZE
# define PNG_ZBUF_SIZE 8192
#endif
+
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
@@ -99,8 +99,9 @@ static char tIME_string[PNG_tIME_STRING_LENGTH] = "tIME chunk is not present";
static int verbose = 0;
+namespace PrivatePng {
int test_one_file PNGARG((PNG_CONST char *inname, PNG_CONST char *outname));
-
+}
#ifdef __TURBOC__
#include <mem.h>
#endif
@@ -114,6 +115,7 @@ int test_one_file PNGARG((PNG_CONST char *inname, PNG_CONST char *outname));
# define png_jmpbuf(png_ptr) png_ptr->jmpbuf
#endif
+namespace PrivatePng {
/* Example of using row callbacks to make a simple progress meter */
static int status_pass = 1;
static int status_dots_requested = 0;
@@ -1795,3 +1797,4 @@ main(int argc, char *argv[])
/* Generate a compiler error if there is an old png.h in the search path. */
typedef png_libpng_version_1_5_4 Your_png_h_is_not_version_1_5_4;
+} // namespace PrivatePng
diff --git a/src/3rdparty/libpng/pngtrans.c b/src/3rdparty/libpng/pngtrans.c
index 6a6908d..2e84686 100644
--- a/src/3rdparty/libpng/pngtrans.c
+++ b/src/3rdparty/libpng/pngtrans.c
@@ -13,6 +13,8 @@
#include "pngpriv.h"
+namespace PrivatePng {
+
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
#if defined(PNG_READ_BGR_SUPPORTED) || defined(PNG_WRITE_BGR_SUPPORTED)
@@ -676,3 +678,4 @@ png_get_current_pass_number(png_const_structp png_ptr)
#endif /* PNG_READ_USER_TRANSFORM_SUPPORTED ||
PNG_WRITE_USER_TRANSFORM_SUPPORTED */
#endif /* PNG_READ_SUPPORTED || PNG_WRITE_SUPPORTED */
+} // namespace PrivatePng
diff --git a/src/3rdparty/libpng/pngwio.c b/src/3rdparty/libpng/pngwio.c
index 95ffb34..3dc7378 100644
--- a/src/3rdparty/libpng/pngwio.c
+++ b/src/3rdparty/libpng/pngwio.c
@@ -20,6 +20,8 @@
#include "pngpriv.h"
+namespace PrivatePng {
+
#ifdef PNG_WRITE_SUPPORTED
/* Write the data to whatever output you are using. The default routine
@@ -252,3 +254,4 @@ void *png_far_to_near(png_structp png_ptr, png_voidp ptr, int check)
# endif
#endif
#endif /* PNG_WRITE_SUPPORTED */
+} // namespace PrivatePng
diff --git a/src/3rdparty/libpng/pngwrite.c b/src/3rdparty/libpng/pngwrite.c
index d1af9e8..a945eb8 100644
--- a/src/3rdparty/libpng/pngwrite.c
+++ b/src/3rdparty/libpng/pngwrite.c
@@ -13,6 +13,8 @@
#include "pngpriv.h"
+namespace PrivatePng {
+
#ifdef PNG_WRITE_SUPPORTED
/* Writes all the PNG information. This is the suggested way to use the
@@ -1653,3 +1655,4 @@ png_write_png(png_structp png_ptr, png_infop info_ptr,
}
#endif
#endif /* PNG_WRITE_SUPPORTED */
+} // namespace PrivatePng
diff --git a/src/3rdparty/libpng/pngwtran.c b/src/3rdparty/libpng/pngwtran.c
index 124d708..1b36d01 100644
--- a/src/3rdparty/libpng/pngwtran.c
+++ b/src/3rdparty/libpng/pngwtran.c
@@ -13,6 +13,8 @@
#include "pngpriv.h"
+namespace PrivatePng {
+
#ifdef PNG_WRITE_SUPPORTED
#ifdef PNG_WRITE_TRANSFORMS_SUPPORTED
@@ -631,3 +633,4 @@ png_do_write_intrapixel(png_row_infop row_info, png_bytep row)
}
#endif /* PNG_MNG_FEATURES_SUPPORTED */
#endif /* PNG_WRITE_SUPPORTED */
+} // namespace PrivatePng
diff --git a/src/3rdparty/libpng/pngwutil.c b/src/3rdparty/libpng/pngwutil.c
index 3ae5ed4..1082350 100644
--- a/src/3rdparty/libpng/pngwutil.c
+++ b/src/3rdparty/libpng/pngwutil.c
@@ -13,6 +13,8 @@
#include "pngpriv.h"
+namespace PrivatePng {
+
#ifdef PNG_WRITE_SUPPORTED
#ifdef PNG_WRITE_INT_FUNCTIONS_SUPPORTED
@@ -3177,3 +3179,4 @@ png_write_filtered_row(png_structp png_ptr, png_bytep filtered_row)
#endif
}
#endif /* PNG_WRITE_SUPPORTED */
+} // namespace PrivatePng
diff --git a/src/3rdparty/libpng/privatepng.cpp b/src/3rdparty/libpng/privatepng.cpp
new file mode 100644
index 0000000..6136447
--- /dev/null
+++ b/src/3rdparty/libpng/privatepng.cpp
@@ -0,0 +1,16 @@
+#include "png.c"
+#include "pngerror.c"
+#include "pngget.c"
+#include "pngmem.c"
+#include "pngpread.c"
+#include "pngread.c"
+#include "pngrio.c"
+#include "pngrtran.c"
+#include "pngrutil.c"
+#include "pngset.c"
+#include "pngtrans.c"
+#include "pngwio.c"
+#include "pngwrite.c"
+#include "pngwtran.c"
+#include "pngwutil.c"
+
diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/webkit/Source/JavaScriptCore/jit/JITStubs.cpp
index a589e11..e2f13e7 100644
--- a/src/3rdparty/webkit/Source/JavaScriptCore/jit/JITStubs.cpp
+++ b/src/3rdparty/webkit/Source/JavaScriptCore/jit/JITStubs.cpp
@@ -353,7 +353,7 @@ asm volatile (
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
- "mov.l .L2"SYMBOL_STRING(cti_vm_throw)",r0" "\n"
+ "mov.l .L2" SYMBOL_STRING(cti_vm_throw) ",r0" "\n"
"mov r15, r4" "\n"
"mov.l @(r0,r12),r11" "\n"
"jsr @r11" "\n"
@@ -369,7 +369,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
"rts" "\n"
"nop" "\n"
".align 2" "\n"
- ".L2"SYMBOL_STRING(cti_vm_throw)":.long " SYMBOL_STRING(cti_vm_throw)"@GOT \n"
+ ".L2" SYMBOL_STRING(cti_vm_throw)":.long " SYMBOL_STRING(cti_vm_throw) "@GOT \n"
);
asm volatile (
@@ -1239,7 +1239,7 @@ MSVC_END( END)
SYMBOL_STRING(cti_##op) ":" "\n" \
"sts pr, r11" "\n" \
"mov.l r11, @(0x38, r15)" "\n" \
- "mov.l .L2"SYMBOL_STRING(JITStubThunked_##op)",r0" "\n" \
+ "mov.l .L2" SYMBOL_STRING(JITStubThunked_##op) ",r0" "\n" \
"mov.l @(r0,r12),r11" "\n" \
"jsr @r11" "\n" \
"nop" "\n" \
@@ -1248,7 +1248,7 @@ MSVC_END( END)
"rts" "\n" \
"nop" "\n" \
".align 2" "\n" \
- ".L2"SYMBOL_STRING(JITStubThunked_##op)":.long " SYMBOL_STRING(JITStubThunked_##op)"@GOT \n" \
+ ".L2" SYMBOL_STRING(JITStubThunked_##op) ":.long " SYMBOL_STRING(JITStubThunked_##op)"@GOT \n" \
); \
rtype JITStubThunked_##op(STUB_ARGS_DECLARATION)
#else
diff --git a/src/3rdparty/webkit/Source/ThirdParty/ANGLE/src/common/debug.h b/src/3rdparty/webkit/Source/ThirdParty/ANGLE/src/common/debug.h
index 2c4ec70..19da378 100644
--- a/src/3rdparty/webkit/Source/ThirdParty/ANGLE/src/common/debug.h
+++ b/src/3rdparty/webkit/Source/ThirdParty/ANGLE/src/common/debug.h
@@ -20,21 +20,21 @@ namespace gl
// A macro to output a trace of a function call and its arguments to the debugging log
#if !defined(NDEBUG) && !defined(ANGLE_DISABLE_TRACE)
- #define TRACE(message, ...) gl::trace("trace: %s"message"\n", __FUNCTION__, __VA_ARGS__)
+ #define TRACE(message, ...) gl::trace("trace: %s" message "\n", __FUNCTION__, __VA_ARGS__)
#else
#define TRACE(...) ((void)0)
#endif
// A macro to output a function call and its arguments to the debugging log, to denote an item in need of fixing. Will occur even in release mode.
-#define FIXME(message, ...) gl::trace("fixme: %s"message"\n", __FUNCTION__, __VA_ARGS__)
+#define FIXME(message, ...) gl::trace("fixme: %s" message "\n", __FUNCTION__, __VA_ARGS__)
// A macro to output a function call and its arguments to the debugging log, in case of error. Will occur even in release mode.
-#define ERR(message, ...) gl::trace("err: %s"message"\n", __FUNCTION__, __VA_ARGS__)
+#define ERR(message, ...) gl::trace("err: %s" message "\n", __FUNCTION__, __VA_ARGS__)
// A macro asserting a condition and outputting failures to the debug log
#define ASSERT(expression) do { \
if(!(expression)) \
- ERR("\t! Assert failed in %s(%d): "#expression"\n", __FUNCTION__, __LINE__); \
+ ERR("\t! Assert failed in %s(%d): " #expression "\n", __FUNCTION__, __LINE__); \
assert(expression); \
} while(0)
diff --git a/src/3rdparty/webkit/Source/ThirdParty/ANGLE/src/libEGL/libEGL.cpp b/src/3rdparty/webkit/Source/ThirdParty/ANGLE/src/libEGL/libEGL.cpp
index 8dfe6e5..98251a1 100644
--- a/src/3rdparty/webkit/Source/ThirdParty/ANGLE/src/libEGL/libEGL.cpp
+++ b/src/3rdparty/webkit/Source/ThirdParty/ANGLE/src/libEGL/libEGL.cpp
@@ -197,7 +197,7 @@ const char *__stdcall eglQueryString(EGLDisplay dpy, EGLint name)
case EGL_VENDOR:
return success("TransGaming Inc.");
case EGL_VERSION:
- return success("1.4 (git-devel "__DATE__" " __TIME__")");
+ return success("1.4 (git-devel " __DATE__ " " __TIME__ ")");
}
return error(EGL_BAD_PARAMETER, (const char*)NULL);
diff --git a/src/3rdparty/webkit/Source/ThirdParty/ANGLE/src/libGLESv2/libGLESv2.cpp b/src/3rdparty/webkit/Source/ThirdParty/ANGLE/src/libGLESv2/libGLESv2.cpp
index 543c0d2..21bffa8 100644
--- a/src/3rdparty/webkit/Source/ThirdParty/ANGLE/src/libGLESv2/libGLESv2.cpp
+++ b/src/3rdparty/webkit/Source/ThirdParty/ANGLE/src/libGLESv2/libGLESv2.cpp
@@ -3214,9 +3214,9 @@ const GLubyte* __stdcall glGetString(GLenum name)
case GL_RENDERER:
return (GLubyte*)"ANGLE";
case GL_VERSION:
- return (GLubyte*)"OpenGL ES 2.0 (git-devel "__DATE__ " " __TIME__")";
+ return (GLubyte*)"OpenGL ES 2.0 (git-devel " __DATE__ " " __TIME__ ")";
case GL_SHADING_LANGUAGE_VERSION:
- return (GLubyte*)"OpenGL ES GLSL ES 1.00 (git-devel "__DATE__ " " __TIME__")";
+ return (GLubyte*)"OpenGL ES GLSL ES 1.00 (git-devel " __DATE__ " " __TIME__ ")";
case GL_EXTENSIONS:
return (GLubyte*)((context != NULL) ? context->getExtensionString() : "");
default:
diff --git a/src/3rdparty/webkit/Source/WebCore/ChangeLog b/src/3rdparty/webkit/Source/WebCore/ChangeLog
index ead97bd..ead97bd 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/ChangeLog
+++ b/src/3rdparty/webkit/Source/WebCore/ChangeLog
diff --git a/src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.cpp b/src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.cpp
index 3d9cb9d..3d9cb9d 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.cpp
diff --git a/src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.h b/src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.h
index 5563e26..5563e26 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.h
+++ b/src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.h
diff --git a/src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp b/src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp
index 5e2acd2..5e2acd2 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp
diff --git a/src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.h b/src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.h
index 40624358..40624358 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.h
+++ b/src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.h
diff --git a/src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.cpp b/src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.cpp
index e00443d..e00443d 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.cpp
diff --git a/src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.h b/src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.h
index a8aba5c..a8aba5c 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.h
+++ b/src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.h
diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.cpp b/src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.cpp
index 6b86232..6b86232 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.cpp
diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.h b/src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.h
index 7d6af6c..7d6af6c 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.h
+++ b/src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.h
diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.cpp b/src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.cpp
index 14bde38..14bde38 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.cpp
diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.h b/src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.h
index e88fd89..e88fd89 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.h
+++ b/src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.h
diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/CSSKeywordCompletions.js b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/CSSKeywordCompletions.js
index de2072a..de2072a 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/CSSKeywordCompletions.js
+++ b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/CSSKeywordCompletions.js
diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/CookieParser.js b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/CookieParser.js
index f96be0b..f96be0b 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/CookieParser.js
+++ b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/CookieParser.js
diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/ExtensionAPISchema.json b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/ExtensionAPISchema.json
index 1319cdf..1319cdf 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/ExtensionAPISchema.json
+++ b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/ExtensionAPISchema.json
diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/SearchController.js b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/SearchController.js
index d0f9cb4..d0f9cb4 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/SearchController.js
+++ b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/SearchController.js
diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/Toolbar.js b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/Toolbar.js
index 61fa2f7..61fa2f7 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/Toolbar.js
+++ b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/Toolbar.js
diff --git a/src/3rdparty/webkit/Source/WebCore/platform/sql/SQLiteFileSystem.cpp b/src/3rdparty/webkit/Source/WebCore/platform/sql/SQLiteFileSystem.cpp
index 362005c..c4ca6aa 100644
--- a/src/3rdparty/webkit/Source/WebCore/platform/sql/SQLiteFileSystem.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/platform/sql/SQLiteFileSystem.cpp
@@ -77,10 +77,10 @@ String SQLiteFileSystem::getFileNameForNewDatabase(const String& dbDir, const St
String fileName;
do {
++seq;
- fileName = pathByAppendingComponent(dbDir, String::format("%016"PRIx64".db", seq));
+ fileName = pathByAppendingComponent(dbDir, String::format("%016" PRIx64 ".db", seq));
} while (fileExists(fileName));
- return String::format("%016"PRIx64".db", seq);
+ return String::format("%016" PRIx64 ".db", seq);
}
String SQLiteFileSystem::appendDatabaseFileNameToPath(const String& path, const String& fileName)
diff --git a/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.cpp b/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.cpp
index 4b339ca..4b339ca 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.cpp
diff --git a/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.h b/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.h
index 8ad44f8..8ad44f8 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.h
+++ b/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.h
diff --git a/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.cpp b/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.cpp
index 0693eb0..0693eb0 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.cpp
diff --git a/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.h b/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.h
index fdad347..fdad347 100755..100644
--- a/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.h
+++ b/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.h
diff --git a/src/3rdparty/webkit/Source/WebKit/qt/QtWebKit.pro b/src/3rdparty/webkit/Source/WebKit/qt/QtWebKit.pro
index 197aa98..4161832 100644
--- a/src/3rdparty/webkit/Source/WebKit/qt/QtWebKit.pro
+++ b/src/3rdparty/webkit/Source/WebKit/qt/QtWebKit.pro
@@ -123,7 +123,7 @@ symbian {
webkitlibs.pkg_prerules = vendorinfo
webkitbackup.sources = symbian/backup_registration.xml
- webkitbackup.path = /private/10202D56/import/packages/$$replace(TARGET.UID3, 0x,)
+ webkitbackup.path = /private/10202d56/import/packages/$$replace(TARGET.UID3, 0x,)
contains(QT_CONFIG, declarative) {
declarativeImport.sources = $$QT_BUILD_TREE/imports/QtWebKit/qmlwebkitplugin$${QT_LIBINFIX}.dll
diff --git a/src/3rdparty/webkit/Source/WebKit2/UIProcess/win/WebUndoClient.h b/src/3rdparty/webkit/Source/WebKit2/UIProcess/win/WebUndoClient.h
index b7fdc15..b7fdc15 100755..100644
--- a/src/3rdparty/webkit/Source/WebKit2/UIProcess/win/WebUndoClient.h
+++ b/src/3rdparty/webkit/Source/WebKit2/UIProcess/win/WebUndoClient.h
diff --git a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeHigh.png b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeHigh.png
index d04df37..d04df37 100755..100644
--- a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeHigh.png
+++ b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeHigh.png
Binary files differ
diff --git a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeLow.png b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeLow.png
index e824a21..e824a21 100755..100644
--- a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeLow.png
+++ b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeLow.png
Binary files differ
diff --git a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoExitFullscreen.png b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoExitFullscreen.png
index 01ce692..01ce692 100755..100644
--- a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoExitFullscreen.png
+++ b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoExitFullscreen.png
Binary files differ
diff --git a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoPause.png b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoPause.png
index b98fb36..b98fb36 100755..100644
--- a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoPause.png
+++ b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoPause.png
Binary files differ
diff --git a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoPlay.png b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoPlay.png
index 035aeb2..035aeb2 100755..100644
--- a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoPlay.png
+++ b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoPlay.png
Binary files differ
diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index 84d68e5..3675fc7 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -2207,16 +2207,13 @@ void qt_message_output(QtMsgType msgType, const char *buf)
OutputDebugString(reinterpret_cast<const wchar_t *> (fstr.utf16()));
#elif defined(Q_OS_SYMBIAN)
// RDebug::Print has a cap of 256 characters so break it up
- _LIT(format, "[Qt Message] %S");
- const int maxBlockSize = 256 - ((const TDesC &)format).Length();
+ char format[] = "[Qt Message] %S";
+ const int maxBlockSize = 256 - sizeof(format);
const TPtrC8 ptr(reinterpret_cast<const TUint8*>(buf));
- HBufC* hbuffer = HBufC::New(qMin(maxBlockSize, ptr.Length()));
- Q_CHECK_PTR(hbuffer);
- for (int i = 0; i < ptr.Length(); i += hbuffer->Length()) {
- hbuffer->Des().Copy(ptr.Mid(i, qMin(maxBlockSize, ptr.Length()-i)));
- RDebug::Print(format, hbuffer);
+ for (int i = 0; i < ptr.Length(); i += maxBlockSize) {
+ TPtrC8 part(ptr.Mid(i, qMin(maxBlockSize, ptr.Length()-i)));
+ RDebug::Printf(format, &part);
}
- delete hbuffer;
#else
fprintf(stderr, "%s\n", buf);
fflush(stderr);
diff --git a/src/corelib/io/qfile.cpp b/src/corelib/io/qfile.cpp
index cdee7ce..09d0c58 100644
--- a/src/corelib/io/qfile.cpp
+++ b/src/corelib/io/qfile.cpp
@@ -824,8 +824,7 @@ QFile::rename(const QString &oldName, const QString &newName)
\note To create a valid link on Windows, \a linkName must have a \c{.lnk} file extension.
- \note On Symbian, no link is created and false is returned if fileName()
- currently specifies a directory.
+ \note Symbian filesystem does not support links.
\sa setFileName()
*/
diff --git a/src/corelib/kernel/qcore_symbian_p.cpp b/src/corelib/kernel/qcore_symbian_p.cpp
index 4f953a7..65ec3fe 100644
--- a/src/corelib/kernel/qcore_symbian_p.cpp
+++ b/src/corelib/kernel/qcore_symbian_p.cpp
@@ -246,6 +246,38 @@ RConnection* QSymbianSocketManager::defaultConnection() const
return iDefaultConnection;
}
+void QSymbianSocketManager::addActiveConnection(TUint32 identifier)
+{
+ QMutexLocker l(&iMutex);
+ activeConnectionsMap[identifier]++;
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "addActiveConnection" << identifier << activeConnectionsMap[identifier];
+#endif
+}
+
+void QSymbianSocketManager::removeActiveConnection(TUint32 identifier)
+{
+ QMutexLocker l(&iMutex);
+ int& val(activeConnectionsMap[identifier]);
+ Q_ASSERT(val > 0);
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "removeActiveConnection" << identifier << val - 1;
+#endif
+ if (val <= 1)
+ activeConnectionsMap.remove(identifier);
+ else
+ val--;
+}
+
+QList<TUint32> QSymbianSocketManager::activeConnections() const
+{
+ QMutexLocker l(&iMutex);
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "activeConnections" << activeConnectionsMap.keys();
+#endif
+ return activeConnectionsMap.keys();
+}
+
Q_GLOBAL_STATIC(QSymbianSocketManager, qt_symbianSocketManager);
QSymbianSocketManager& QSymbianSocketManager::instance()
diff --git a/src/corelib/kernel/qcore_symbian_p.h b/src/corelib/kernel/qcore_symbian_p.h
index a8f576d..6176ab5 100644
--- a/src/corelib/kernel/qcore_symbian_p.h
+++ b/src/corelib/kernel/qcore_symbian_p.h
@@ -247,6 +247,27 @@ public:
/*!
\internal
+ Add an opened connection to the active list
+ \param an open connection
+ */
+ void addActiveConnection(TUint32 identifier);
+
+ /*!
+ \internal
+ Remove a connection from the active list
+ \param a closed connection
+ */
+ void removeActiveConnection(TUint32 identifier);
+
+ /*!
+ \internal
+ Add an opened connection to the active list
+ \param an open connection
+ */
+ QList<TUint32> activeConnections() const;
+
+ /*!
+ \internal
Gets a reference to the singleton socket manager
*/
static QSymbianSocketManager& instance();
@@ -258,6 +279,7 @@ private:
int iNextSocket;
QHash<QHashableSocket, int> socketMap;
QHash<int, RSocket> reverseSocketMap;
+ QHash<TUint32, int> activeConnectionsMap;
mutable QMutex iMutex;
RSocketServ iSocketServ;
RConnection *iDefaultConnection;
diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp
index ea466f5..da6f021 100644
--- a/src/corelib/kernel/qeventdispatcher_symbian.cpp
+++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp
@@ -749,7 +749,7 @@ public:
ObjectRun,
ObjectDelayed
};
- static RunResult RunMarkedIfReady(TInt &runPriority, TInt minimumPriority);
+ static RunResult RunMarkedIfReady(TInt &runPriority, TInt minimumPriority, QEventDispatcherSymbian *dispatcher);
static bool UseRRActiveScheduler();
private:
@@ -808,7 +808,7 @@ void QtRRActiveScheduler::MarkReadyToRun()
}
}
-QtRRActiveScheduler::RunResult QtRRActiveScheduler::RunMarkedIfReady(TInt &runPriority, TInt minimumPriority)
+QtRRActiveScheduler::RunResult QtRRActiveScheduler::RunMarkedIfReady(TInt &runPriority, TInt minimumPriority, QEventDispatcherSymbian *dispatcher)
{
RunResult result = NothingFound;
TInt error=KErrNone;
@@ -824,12 +824,12 @@ QtRRActiveScheduler::RunResult QtRRActiveScheduler::RunMarkedIfReady(TInt &runPr
runPriority = active->Priority();
dataAccess->iStatus.iFlags&=~TRequestStatusAccess::ERequestActiveFlags;
int vptr = *(int*)active; // vptr can be used to identify type when debugging leaves
- TRAP(error, active->RunL());
+ TRAP(error, QT_TRYCATCH_ERROR(error, active->RunL()));
if (error!=KErrNone)
error=active->RunError(error);
if (error) {
qWarning("Active object (ptr=0x%08x, vptr=0x%08x) leave: %i\n", active, vptr, error);
- pS->Error(error);
+ dispatcher->activeObjectError(error);
}
return ObjectRun;
}
@@ -966,13 +966,15 @@ QEventDispatcherSymbian::QEventDispatcherSymbian(QObject *parent)
m_wakeUpDone(0),
m_iterationCount(0),
m_insideTimerEvent(false),
- m_noSocketEvents(false)
+ m_noSocketEvents(false),
+ m_oomErrorCount(0)
{
#ifdef QT_SYMBIAN_PRIORITY_DROP
m_delay = baseDelay;
m_avgEventTime = 0;
idleDetectorThread();
#endif
+ m_oomErrorTimer.start();
}
QEventDispatcherSymbian::~QEventDispatcherSymbian()
@@ -1098,7 +1100,7 @@ bool QEventDispatcherSymbian::processEvents ( QEventLoop::ProcessEventsFlags fla
// Standard or above priority AOs are scheduled round robin.
// Lower priority AOs can only run if nothing higher priority has run.
int runPriority = minPriority;
- handledSymbianEvent = QtRRActiveScheduler::RunMarkedIfReady(runPriority, minPriority);
+ handledSymbianEvent = QtRRActiveScheduler::RunMarkedIfReady(runPriority, minPriority, this);
minPriority = qMin(runPriority, int(CActive::EPriorityStandard));
} else {
TInt error;
@@ -1396,6 +1398,19 @@ QList<QEventDispatcherSymbian::TimerInfo> QEventDispatcherSymbian::registeredTim
return list;
}
+void QEventDispatcherSymbian::activeObjectError(int error)
+{
+ if (error == KErrNoMemory) {
+ // limit the number of reported out of memory errors, as the disappearance of the warning
+ // dialog can trigger further OOM errors causing a loop.
+ if (m_oomErrorTimer.restart() > 60000) // 1 minute
+ m_oomErrorCount = 0;
+ if (m_oomErrorCount++ >= 5)
+ return;
+ }
+ CActiveScheduler::Current()->Error(error);
+}
+
/*
* This active scheduler class implements a simple report and continue policy, for Symbian OS leaves
* or exceptions from Qt that fall back to the scheduler.
diff --git a/src/corelib/kernel/qeventdispatcher_symbian_p.h b/src/corelib/kernel/qeventdispatcher_symbian_p.h
index 01f5ab1..869fe31 100644
--- a/src/corelib/kernel/qeventdispatcher_symbian_p.h
+++ b/src/corelib/kernel/qeventdispatcher_symbian_p.h
@@ -264,6 +264,8 @@ public:
static void RequestComplete(TRequestStatus *&status, TInt reason);
static void RequestComplete(RThread &threadHandle, TRequestStatus *&status, TInt reason);
+ void activeObjectError(int error);
+
private:
bool sendPostedEvents();
bool sendDeferredSocketEvents();
@@ -294,6 +296,8 @@ private:
int m_delay;
int m_avgEventTime;
QElapsedTimer m_lastIdleRequestTimer;
+ int m_oomErrorCount;
+ QElapsedTimer m_oomErrorTimer;
};
#ifdef QT_DEBUG
diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h
index efce4d5..8cfc61a 100644
--- a/src/corelib/kernel/qobjectdefs.h
+++ b/src/corelib/kernel/qobjectdefs.h
@@ -219,7 +219,7 @@ Q_CORE_EXPORT const char *qFlagLocation(const char *method);
#define QTOSTRING_HELPER(s) #s
#define QTOSTRING(s) QTOSTRING_HELPER(s)
#ifndef QT_NO_DEBUG
-# define QLOCATION "\0"__FILE__":"QTOSTRING(__LINE__)
+# define QLOCATION "\0" __FILE__ ":" QTOSTRING(__LINE__)
# ifndef QT_NO_KEYWORDS
# define METHOD(a) qFlagLocation("0"#a QLOCATION)
# endif
diff --git a/src/corelib/plugin/qlibrary.cpp b/src/corelib/plugin/qlibrary.cpp
index f1ed8e4..e0e2b8d 100644
--- a/src/corelib/plugin/qlibrary.cpp
+++ b/src/corelib/plugin/qlibrary.cpp
@@ -789,7 +789,7 @@ bool QLibraryPrivate::isPlugin(QSettings *settings)
// An exception was thrown when calling qt_plugin_query_verification_data().
// This usually happens when plugin is compiled with the /clr compiler flag,
// & will only work if the dependencies are loaded & DLLMain() is called.
- // LoadLibrary() will do this, try once with this & if it fails dont load.
+ // LoadLibrary() will do this, try once with this & if it fails don't load.
retryLoadLibrary = !retryLoadLibrary;
}
#endif
diff --git a/src/corelib/plugin/qplugin.h b/src/corelib/plugin/qplugin.h
index 40e6e66..559822a 100644
--- a/src/corelib/plugin/qplugin.h
+++ b/src/corelib/plugin/qplugin.h
@@ -115,10 +115,10 @@ void Q_CORE_EXPORT qRegisterStaticPluginInstanceFunction(QtPluginInstanceFunctio
# endif
# define Q_PLUGIN_VERIFICATION_DATA \
static const char qt_plugin_verification_data[] = \
- "pattern=""QT_PLUGIN_VERIFICATION_DATA""\n" \
- "version="QT_VERSION_STR"\n" \
- "debug="QPLUGIN_DEBUG_STR"\n" \
- "buildkey="QT_BUILD_KEY;
+ "pattern=QT_PLUGIN_VERIFICATION_DATA\n" \
+ "version=" QT_VERSION_STR "\n" \
+ "debug=" QPLUGIN_DEBUG_STR "\n" \
+ "buildkey=" QT_BUILD_KEY;
# if defined (Q_OF_ELF) && defined (Q_CC_GNU)
# define Q_PLUGIN_VERIFICATION_SECTION \
diff --git a/src/dbus/qdbusdemarshaller.cpp b/src/dbus/qdbusdemarshaller.cpp
index d9bb5b5..4103552 100644
--- a/src/dbus/qdbusdemarshaller.cpp
+++ b/src/dbus/qdbusdemarshaller.cpp
@@ -48,10 +48,28 @@ QT_BEGIN_NAMESPACE
template <typename T>
static inline T qIterGet(DBusMessageIter *it)
{
- T t;
- q_dbus_message_iter_get_basic(it, &t);
+ // Use a union of expected and largest type q_dbus_message_iter_get_basic
+ // will return to ensure reading the wrong basic type does not result in
+ // stack overwrite
+ union {
+ // The value to be extracted
+ T t;
+ // Largest type that q_dbus_message_iter_get_basic will return
+ // according to dbus_message_iter_get_basic API documentation
+ dbus_uint64_t maxValue;
+ // A pointer to ensure no stack overwrite in case there is a platform
+ // where sizeof(void*) > sizeof(dbus_uint64_t)
+ void* ptr;
+ } value;
+
+ // Initialize the value in case a narrower type is extracted to it.
+ // Note that the result of extracting a narrower type in place of a wider
+ // one and vice-versa will be platform-dependent.
+ value.t = T();
+
+ q_dbus_message_iter_get_basic(it, &value);
q_dbus_message_iter_next(it);
- return t;
+ return value.t;
}
QDBusDemarshaller::~QDBusDemarshaller()
diff --git a/src/declarative/debugger/qdeclarativedebugserver.cpp b/src/declarative/debugger/qdeclarativedebugserver.cpp
index 3e0c326..05f63c7 100644
--- a/src/declarative/debugger/qdeclarativedebugserver.cpp
+++ b/src/declarative/debugger/qdeclarativedebugserver.cpp
@@ -96,7 +96,7 @@ public:
private:
// private slot
void _q_deliverMessage(const QString &serviceName, const QByteArray &message);
- static QDeclarativeDebugServerConnection *loadConnectionPlugin(const QString &pluginName);
+ static QDeclarativeDebugServerConnection *loadConnectionPlugin(QPluginLoader *loader, const QString &pluginName);
};
QDeclarativeDebugServerPrivate::QDeclarativeDebugServerPrivate() :
@@ -120,7 +120,7 @@ void QDeclarativeDebugServerPrivate::advertisePlugins()
}
QDeclarativeDebugServerConnection *QDeclarativeDebugServerPrivate::loadConnectionPlugin(
- const QString &pluginName)
+ QPluginLoader *loader, const QString &pluginName)
{
#ifndef QT_NO_LIBRARY
QStringList pluginCandidates;
@@ -137,17 +137,17 @@ QDeclarativeDebugServerConnection *QDeclarativeDebugServerPrivate::loadConnectio
}
foreach (const QString &pluginPath, pluginCandidates) {
- QPluginLoader loader(pluginPath);
- if (!loader.load()) {
+ loader->setFileName(pluginPath);
+ if (!loader->load()) {
continue;
}
QDeclarativeDebugServerConnection *connection = 0;
- if (QObject *instance = loader.instance())
+ if (QObject *instance = loader->instance())
connection = qobject_cast<QDeclarativeDebugServerConnection*>(instance);
if (connection)
return connection;
- loader.unload();
+ loader->unload();
}
#endif
return 0;
@@ -202,8 +202,9 @@ QDeclarativeDebugServer *QDeclarativeDebugServer::instance()
if (ok) {
server = new QDeclarativeDebugServer();
+ QPluginLoader *loader = new QPluginLoader(server);
QDeclarativeDebugServerConnection *connection
- = QDeclarativeDebugServerPrivate::loadConnectionPlugin(pluginName);
+ = QDeclarativeDebugServerPrivate::loadConnectionPlugin(loader, pluginName);
if (connection) {
server->d_func()->connection = connection;
diff --git a/src/declarative/graphicsitems/qdeclarativetext.cpp b/src/declarative/graphicsitems/qdeclarativetext.cpp
index 20e4eef..684dc5a 100644
--- a/src/declarative/graphicsitems/qdeclarativetext.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetext.cpp
@@ -289,7 +289,7 @@ void QDeclarativeTextPrivate::updateSize()
doc->setTextWidth(-1);
naturalWidth = doc->idealWidth();
}
- if (wrapMode != QDeclarativeText::NoWrap && q->widthValid())
+ if (q->widthValid())
doc->setTextWidth(q->width());
else
doc->setTextWidth(doc->idealWidth()); // ### Text does not align if width is not set (QTextDoc bug)
diff --git a/src/declarative/qml/qdeclarativecomponent.cpp b/src/declarative/qml/qdeclarativecomponent.cpp
index f423f50..0d892a2 100644
--- a/src/declarative/qml/qdeclarativecomponent.cpp
+++ b/src/declarative/qml/qdeclarativecomponent.cpp
@@ -936,50 +936,37 @@ void QDeclarativeComponentPrivate::beginDeferred(QDeclarativeEnginePrivate *engi
void QDeclarativeComponentPrivate::complete(QDeclarativeEnginePrivate *enginePriv, ConstructionState *state)
{
if (state->completePending) {
-
- for (int ii = 0; ii < state->bindValues.count(); ++ii) {
- QDeclarativeEnginePrivate::SimpleList<QDeclarativeAbstractBinding> bv =
- state->bindValues.at(ii);
- for (int jj = 0; jj < bv.count; ++jj) {
- if(bv.at(jj)) {
- // XXX akennedy
- bv.at(jj)->m_mePtr = 0;
- bv.at(jj)->setEnabled(true, QDeclarativePropertyPrivate::BypassInterceptor |
- QDeclarativePropertyPrivate::DontRemoveBinding);
+ QT_TRY {
+ for (int ii = 0; ii < state->bindValues.count(); ++ii) {
+ QDeclarativeEnginePrivate::SimpleList<QDeclarativeAbstractBinding> bv =
+ state->bindValues.at(ii);
+ for (int jj = 0; jj < bv.count; ++jj) {
+ if(bv.at(jj)) {
+ // XXX akennedy
+ bv.at(jj)->m_mePtr = 0;
+ bv.at(jj)->setEnabled(true, QDeclarativePropertyPrivate::BypassInterceptor |
+ QDeclarativePropertyPrivate::DontRemoveBinding);
+ }
}
+ QDeclarativeEnginePrivate::clear(bv);
}
- QDeclarativeEnginePrivate::clear(bv);
- }
- for (int ii = 0; ii < state->parserStatus.count(); ++ii) {
- QDeclarativeEnginePrivate::SimpleList<QDeclarativeParserStatus> ps =
- state->parserStatus.at(ii);
+ for (int ii = 0; ii < state->parserStatus.count(); ++ii) {
+ QDeclarativeEnginePrivate::SimpleList<QDeclarativeParserStatus> ps =
+ state->parserStatus.at(ii);
- for (int jj = ps.count - 1; jj >= 0; --jj) {
- QDeclarativeParserStatus *status = ps.at(jj);
- if (status && status->d) {
- status->d = 0;
- status->componentComplete();
+ for (int jj = ps.count - 1; jj >= 0; --jj) {
+ QDeclarativeParserStatus *status = ps.at(jj);
+ if (status && status->d) {
+ status->d = 0;
+ status->componentComplete();
+ }
}
+ QDeclarativeEnginePrivate::clear(ps);
}
- QDeclarativeEnginePrivate::clear(ps);
- }
-
- for (int ii = 0; ii < state->finalizedParserStatus.count(); ++ii) {
- QPair<QDeclarativeGuard<QObject>, int> status = state->finalizedParserStatus.at(ii);
- QObject *obj = status.first;
- if (obj) {
- void *args[] = { 0 };
- QMetaObject::metacall(obj, QMetaObject::InvokeMetaMethod,
- status.second, args);
- }
- }
- //componentComplete() can register additional finalization objects
- //that are then never handled. Handle them manually here.
- if (1 == enginePriv->inProgressCreations) {
- for (int ii = 0; ii < enginePriv->finalizedParserStatus.count(); ++ii) {
- QPair<QDeclarativeGuard<QObject>, int> status = enginePriv->finalizedParserStatus.at(ii);
+ for (int ii = 0; ii < state->finalizedParserStatus.count(); ++ii) {
+ QPair<QDeclarativeGuard<QObject>, int> status = state->finalizedParserStatus.at(ii);
QObject *obj = status.first;
if (obj) {
void *args[] = { 0 };
@@ -987,17 +974,38 @@ void QDeclarativeComponentPrivate::complete(QDeclarativeEnginePrivate *enginePri
status.second, args);
}
}
- enginePriv->finalizedParserStatus.clear();
- }
- while (state->componentAttached) {
- QDeclarativeComponentAttached *a = state->componentAttached;
- a->rem();
- QDeclarativeData *d = QDeclarativeData::get(a->parent());
- Q_ASSERT(d);
- Q_ASSERT(d->context);
- a->add(&d->context->componentAttached);
- emit a->completed();
+ //componentComplete() can register additional finalization objects
+ //that are then never handled. Handle them manually here.
+ if (1 == enginePriv->inProgressCreations) {
+ for (int ii = 0; ii < enginePriv->finalizedParserStatus.count(); ++ii) {
+ QPair<QDeclarativeGuard<QObject>, int> status = enginePriv->finalizedParserStatus.at(ii);
+ QObject *obj = status.first;
+ if (obj) {
+ void *args[] = { 0 };
+ QMetaObject::metacall(obj, QMetaObject::InvokeMetaMethod,
+ status.second, args);
+ }
+ }
+ enginePriv->finalizedParserStatus.clear();
+ }
+
+ while (state->componentAttached) {
+ QDeclarativeComponentAttached *a = state->componentAttached;
+ a->rem();
+ QDeclarativeData *d = QDeclarativeData::get(a->parent());
+ Q_ASSERT(d);
+ Q_ASSERT(d->context);
+ a->add(&d->context->componentAttached);
+ emit a->completed();
+ }
+ } QT_CATCH(const std::exception&) {
+ state->bindValues.clear();
+ state->parserStatus.clear();
+ state->finalizedParserStatus.clear();
+ state->completePending = false;
+ enginePriv->inProgressCreations--;
+ QT_RETHROW;
}
state->bindValues.clear();
diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp
index 1417b78..89a9809 100644
--- a/src/declarative/qml/qdeclarativeengine.cpp
+++ b/src/declarative/qml/qdeclarativeengine.cpp
@@ -1202,8 +1202,8 @@ void QDeclarativeData::setBindingBit(QObject *obj, int bit)
int arraySize = (props + 31) / 32;
int oldArraySize = bindingBitsSize / 32;
- bindingBits = (quint32 *)realloc(bindingBits,
- arraySize * sizeof(quint32));
+ bindingBits = (quint32 *)q_check_ptr(realloc(bindingBits,
+ arraySize * sizeof(quint32)));
memset(bindingBits + oldArraySize,
0x00,
diff --git a/src/declarative/qml/qpodvector_p.h b/src/declarative/qml/qpodvector_p.h
index 7b50463..a055d17 100644
--- a/src/declarative/qml/qpodvector_p.h
+++ b/src/declarative/qml/qpodvector_p.h
@@ -89,7 +89,7 @@ public:
void insert(int idx, const T &v) {
if (m_count == m_capacity) {
m_capacity += Increment;
- m_data = (T *)realloc(m_data, m_capacity * sizeof(T));
+ m_data = (T *)q_check_ptr(realloc(m_data, m_capacity * sizeof(T)));
}
int moveCount = m_count - idx;
if (moveCount)
@@ -101,7 +101,7 @@ public:
void reserve(int count) {
if (count >= m_capacity) {
m_capacity = (count + (Increment-1)) & (0xFFFFFFFF - Increment + 1);
- m_data = (T *)realloc(m_data, m_capacity * sizeof(T));
+ m_data = (T *)q_check_ptr(realloc(m_data, m_capacity * sizeof(T)));
}
}
diff --git a/src/gui/graphicsview/qgraphicslayoutitem.cpp b/src/gui/graphicsview/qgraphicslayoutitem.cpp
index 0631df8..5a2d051 100644
--- a/src/gui/graphicsview/qgraphicslayoutitem.cpp
+++ b/src/gui/graphicsview/qgraphicslayoutitem.cpp
@@ -133,15 +133,81 @@ void QGraphicsLayoutItemPrivate::init()
/*!
\internal
+
+ effectiveSizeHint has a quirky behavior, one of the quirkinesses is when the hfw function is
+ combined with user-specified min/max sizes. The input to hfw function (e.g width) must be within
+ the min/max width constraint, and the output must be within the min/max height. This sets up a
+ loose dependency between minimum width and maximum height (or minimum height, depending on the
+ type of hfw function). Note that its only the concrete subclass that implements that hfw
+ function that knows if this dependency means that the height will increase or decrease when the
+ width is increased.
+
+ The application should try to ensure that the user-defined sizes are within the range so that
+ they don't conflict with the hfw function.
+
+ Suppose, for instance that the hfw function is:
+
+ height = 2000/width
+
+ and the item has these user-defined sizes:
+
+ min ( 5, 5)
+ pref(100, 10)
+ max (500,100)
+
+ what is the return value if one calls item->effectiveSizeHint(Qt::MinimumSize, QSizeF(10, -1)); ?
+ The sizeHint() function would return QSizeF(10, 200), but it would be bounded down to 100 due
+ to the max value, so it would return (10, 100). This is not what the item expects, since it
+ really wants that its hfw is respected. If this is a label with wrapped text, this would most
+ likely lead to that some text is clipped. This is certainly not what the app developer wants.
+ Now, it would be better if the user changed those constraints to match the hfw function:
+
+ min ( 20, 5)
+ pref(100, 10)
+ max (500,100)
+
+ here, it says that the width cannot be smaller than 20. This is because if it becomes smaller
+ than 20 the result of the hfw function would violate the max height (100).
+
+ However, there is a similar problem if the width passed to the hfw function reaches *max* width:
+
+ the sizeHint() function would now return QSizeF(500, 4), but 4 is smaller than the minimum
+ height (5), so effectiveSizeHint() would return (500, 5), which would leave too much space.
+ In this case, setting the max width to 400 fixes the problem:
+
+ min ( 20, 5)
+ pref(100, 10)
+ max (400,100)
+
+
+ The implementor of a hfw widget must be aware of this when sizeHint() is reimplemented, so that
+ the default min and max sizes works sensible. (unfortunately the implementor does not have the
+ control over user-set values).
+
*/
QSizeF *QGraphicsLayoutItemPrivate::effectiveSizeHints(const QSizeF &constraint) const
{
Q_Q(const QGraphicsLayoutItem);
QSizeF *sizeHintCache;
const bool hasConstraint = constraint.width() >= 0 || constraint.height() >= 0;
+ QSizeF adjustedConstraint = constraint;
if (hasConstraint) {
if (!sizeHintWithConstraintCacheDirty && constraint == cachedConstraint)
return cachedSizeHintsWithConstraints;
+
+ const QSizeF *hintsWithoutConstraint = effectiveSizeHints(QSizeF(-1,-1));
+
+ if (adjustedConstraint.width() >= 0)
+ adjustedConstraint.setWidth( qBound( hintsWithoutConstraint[Qt::MinimumSize].width(),
+ adjustedConstraint.width(),
+ hintsWithoutConstraint[Qt::MaximumSize].width()));
+ if (adjustedConstraint.height() >= 0)
+ adjustedConstraint.setHeight( qBound( hintsWithoutConstraint[Qt::MinimumSize].height(),
+ adjustedConstraint.height(),
+ hintsWithoutConstraint[Qt::MaximumSize].height()));
+
+ if (!sizeHintWithConstraintCacheDirty && adjustedConstraint == cachedConstraint)
+ return cachedSizeHintsWithConstraints;
sizeHintCache = cachedSizeHintsWithConstraints;
} else {
if (!sizeHintCacheDirty)
@@ -150,7 +216,7 @@ QSizeF *QGraphicsLayoutItemPrivate::effectiveSizeHints(const QSizeF &constraint)
}
for (int i = 0; i < Qt::NSizeHints; ++i) {
- sizeHintCache[i] = constraint;
+ sizeHintCache[i] = adjustedConstraint;
if (userSizeHints)
combineSize(sizeHintCache[i], userSizeHints[i]);
}
@@ -185,7 +251,7 @@ QSizeF *QGraphicsLayoutItemPrivate::effectiveSizeHints(const QSizeF &constraint)
// COMBINE_SIZE(descentS, q->sizeHint(Qt::MinimumDescent, constraint));
if (hasConstraint) {
- cachedConstraint = constraint;
+ cachedConstraint = adjustedConstraint;
sizeHintWithConstraintCacheDirty = false;
} else {
sizeHintCacheDirty = false;
diff --git a/src/gui/image/qimagereader.cpp b/src/gui/image/qimagereader.cpp
index 411e5e9..2b56e49 100644
--- a/src/gui/image/qimagereader.cpp
+++ b/src/gui/image/qimagereader.cpp
@@ -1473,11 +1473,16 @@ QByteArray QImageReader::imageFormat(QIODevice *device)
\row \o XBM \o X11 Bitmap
\row \o XPM \o X11 Pixmap
\row \o SVG \o Scalable Vector Graphics
+ \row \o TGA \o Targa Image Format
\endtable
Reading and writing SVG files is supported through Qt's
\l{QtSvg Module}{SVG Module}.
+ TGA support only extends to reading non-RLE compressed files. In particular
+ calls to \l{http://doc.qt.nokia.com/4.7-snapshot/qimageioplugin.html#capabilities}{capabilities}
+ for the tga plugin returns only QImageIOPlugin::CanRead, not QImageIOPlugin::CanWrite.
+
To configure Qt with GIF support, pass \c -qt-gif to the \c
configure script or check the appropriate option in the graphical
installer.
diff --git a/src/gui/image/qpnghandler.cpp b/src/gui/image/qpnghandler.cpp
index 1714442..5a4a4d7 100644
--- a/src/gui/image/qpnghandler.cpp
+++ b/src/gui/image/qpnghandler.cpp
@@ -53,6 +53,7 @@
#ifdef QT_USE_BUNDLED_LIBPNG
#include <../../3rdparty/libpng/png.h>
#include <../../3rdparty/libpng/pngconf.h>
+using namespace PrivatePng;
#else
#include <png.h>
#include <pngconf.h>
diff --git a/src/gui/image/qtiffhandler.cpp b/src/gui/image/qtiffhandler.cpp
index 4dc9775..51a500d 100644
--- a/src/gui/image/qtiffhandler.cpp
+++ b/src/gui/image/qtiffhandler.cpp
@@ -158,7 +158,13 @@ bool QTiffHandler::canRead(QIODevice *device)
// current implementation uses TIFFClientOpen which needs to be
// able to seek, so sequential devices are not supported
+ int pos = device->pos();
+ if (pos != 0)
+ device->seek(0); // need the magic from the beginning
QByteArray header = device->peek(4);
+ if (pos != 0)
+ device->seek(pos); // put it back where we found it
+
return header == QByteArray::fromRawData("\x49\x49\x2A\x00", 4)
|| header == QByteArray::fromRawData("\x4D\x4D\x00\x2A", 4);
}
diff --git a/src/gui/inputmethod/qcoefepinputcontext_p.h b/src/gui/inputmethod/qcoefepinputcontext_p.h
index 90d47f9..d9d577a 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_p.h
+++ b/src/gui/inputmethod/qcoefepinputcontext_p.h
@@ -162,6 +162,8 @@ private:
void enableSymbianCcpuSupport();
void changeCBA(bool showCopyAndOrPaste);
void copyOrCutTextToClipboard(const char *operation);
+ void getScreenCoordinatesForFepX(TPoint& aLeftSideOfBaseLine, TInt& aHeight, TInt& aAscent,
+ TInt aDocumentPosition) const;
//From MEikCcpuEditor interface
public:
@@ -223,6 +225,7 @@ private:
Q_GUI_EXPORT void qt_s60_setPartialScreenInputMode(bool enable);
Q_GUI_EXPORT void qt_s60_setPartialScreenAutomaticTranslation(bool enable);
+Q_GUI_EXPORT void qt_s60_setEditorFlags(int flags);
QT_END_NAMESPACE
diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
index ed7411f..3bcac62 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
+++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
@@ -367,6 +367,11 @@ Q_GUI_EXPORT void qt_s60_setPartialScreenAutomaticTranslation(bool enable)
S60->partial_keyboardAutoTranslation = enable;
}
+Q_GUI_EXPORT void qt_s60_setEditorFlags(int flags)
+{
+ S60->editorFlags |= flags;
+}
+
QCoeFepInputContext::QCoeFepInputContext(QObject *parent)
: QInputContext(parent),
m_fepState(q_check_ptr(new CAknEdwinState)), // CBase derived object needs check on new
@@ -1160,6 +1165,11 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints)
if (hints & ImhNoPredictiveText || hints & ImhHiddenText) {
flags |= EAknEditorFlagNoT9;
}
+
+ if ((hints & (ImhEmailCharactersOnly | ImhUrlCharactersOnly)) && (S60->editorFlags & EAknEditorFlagLatinInputModesOnly)){
+ flags |= EAknEditorFlagLatinInputModesOnly;
+ }
+
if (needsCharMap)
flags |= EAknEditorFlagUseSCTNumericCharmap;
m_fepState->SetFlags(flags);
@@ -1465,40 +1475,49 @@ void QCoeFepInputContext::CancelFepInlineEdit()
m_pendingTransactionCancel = true;
- QList<QInputMethodEvent::Attribute> attributes;
- QInputMethodEvent event(QLatin1String(""), attributes);
- event.setCommitString(QLatin1String(""), 0, 0);
- m_preeditString.clear();
- m_inlinePosition = 0;
- sendEvent(event);
+ QT_TRY {
+ QList<QInputMethodEvent::Attribute> attributes;
+ QInputMethodEvent event(QLatin1String(""), attributes);
+ event.setCommitString(QLatin1String(""), 0, 0);
+ m_preeditString.clear();
+ m_inlinePosition = 0;
+ sendEvent(event);
- // Sync with native side editor state. Native side can then do various operations
- // based on editor state, such as removing 'exact word bubble'.
- if (!m_pendingInputCapabilitiesChanged)
- ReportAknEdStateEvent(MAknEdStateObserver::EAknSyncEdwinState);
+ // Sync with native side editor state. Native side can then do various operations
+ // based on editor state, such as removing 'exact word bubble'.
+ if (!m_pendingInputCapabilitiesChanged)
+ ReportAknEdStateEvent(MAknEdStateObserver::EAknSyncEdwinState);
+ } QT_CATCH(const std::exception&) {
+ m_preeditString.clear();
+ m_inlinePosition = 0;
+ }
m_pendingTransactionCancel = false;
}
TInt QCoeFepInputContext::DocumentLengthForFep() const
{
- QWidget *w = focusWidget();
- if (!w)
- return 0;
+ QT_TRY {
+ QWidget *w = focusWidget();
+ if (!w)
+ return 0;
- QVariant variant = w->inputMethodQuery(Qt::ImSurroundingText);
+ QVariant variant = w->inputMethodQuery(Qt::ImSurroundingText);
- int size = variant.value<QString>().size() + m_preeditString.size();
+ int size = variant.value<QString>().size() + m_preeditString.size();
- // To fix an issue with backspaces not being generated if document size is zero,
- // fake document length to be at least one always, except when dealing with
- // hidden text widgets, where this faking would generate extra asterisk. Since the
- // primary use of hidden text widgets is password fields, they are unlikely to
- // support multiple lines anyway.
- if (size == 0 && !(m_textCapabilities & TCoeInputCapabilities::ESecretText))
- size = 1;
+ // To fix an issue with backspaces not being generated if document size is zero,
+ // fake document length to be at least one always, except when dealing with
+ // hidden text widgets, where this faking would generate extra asterisk. Since the
+ // primary use of hidden text widgets is password fields, they are unlikely to
+ // support multiple lines anyway.
+ if (size == 0 && !(m_textCapabilities & TCoeInputCapabilities::ESecretText))
+ size = 1;
- return size;
+ return size;
+ } QT_CATCH(const std::exception&) {
+ return 0;
+ }
}
TInt QCoeFepInputContext::DocumentMaximumLengthForFep() const
@@ -1540,42 +1559,46 @@ void QCoeFepInputContext::SetCursorSelectionForFepL(const TCursorSelection& aCur
void QCoeFepInputContext::GetCursorSelectionForFep(TCursorSelection& aCursorSelection) const
{
- QWidget *w = focusWidget();
- if (!w) {
- aCursorSelection.SetSelection(0,0);
- return;
- }
+ QT_TRY {
+ QWidget *w = focusWidget();
+ if (!w) {
+ aCursorSelection.SetSelection(0,0);
+ return;
+ }
- int cursor = w->inputMethodQuery(Qt::ImCursorPosition).toInt() + m_preeditString.size();
- int anchor = w->inputMethodQuery(Qt::ImAnchorPosition).toInt() + m_preeditString.size();
+ int cursor = w->inputMethodQuery(Qt::ImCursorPosition).toInt() + m_preeditString.size();
+ int anchor = w->inputMethodQuery(Qt::ImAnchorPosition).toInt() + m_preeditString.size();
- // If the position is stored, use that value, so that word replacement from proposed word
- // lists are added to the correct position.
- if (m_cachedCursorAndAnchorPosition != -1) {
- cursor = m_cachedCursorAndAnchorPosition;
- anchor = m_cachedCursorAndAnchorPosition;
- }
- QString text = w->inputMethodQuery(Qt::ImSurroundingText).value<QString>();
- int combinedSize = text.size() + m_preeditString.size();
- if (combinedSize < anchor || combinedSize < cursor) {
- // ### TODO! FIXME! QTBUG-5050
- // This is a hack to prevent crashing in 4.6 with QLineEdits that use input masks.
- // The root problem is that cursor position is relative to displayed text instead of the
- // actual text we get.
- //
- // To properly fix this we would need to know the displayText of QLineEdits instead
- // of just the text, which on itself should be a trivial change. The difficulties start
- // when we need to commit the changes back to the QLineEdit, which would have to be somehow
- // able to handle displayText, too.
- //
- // Until properly fixed, the cursor and anchor positions will not reflect correct positions
- // for masked QLineEdits, unless all the masked positions are filled in order so that
- // cursor position relative to the displayed text matches position relative to actual text.
- aCursorSelection.iAnchorPos = combinedSize;
- aCursorSelection.iCursorPos = combinedSize;
- } else {
- aCursorSelection.iAnchorPos = anchor;
- aCursorSelection.iCursorPos = cursor;
+ // If the position is stored, use that value, so that word replacement from proposed word
+ // lists are added to the correct position.
+ if (m_cachedCursorAndAnchorPosition != -1) {
+ cursor = m_cachedCursorAndAnchorPosition;
+ anchor = m_cachedCursorAndAnchorPosition;
+ }
+ QString text = w->inputMethodQuery(Qt::ImSurroundingText).value<QString>();
+ int combinedSize = text.size() + m_preeditString.size();
+ if (combinedSize < anchor || combinedSize < cursor) {
+ // ### TODO! FIXME! QTBUG-5050
+ // This is a hack to prevent crashing in 4.6 with QLineEdits that use input masks.
+ // The root problem is that cursor position is relative to displayed text instead of the
+ // actual text we get.
+ //
+ // To properly fix this we would need to know the displayText of QLineEdits instead
+ // of just the text, which on itself should be a trivial change. The difficulties start
+ // when we need to commit the changes back to the QLineEdit, which would have to be somehow
+ // able to handle displayText, too.
+ //
+ // Until properly fixed, the cursor and anchor positions will not reflect correct positions
+ // for masked QLineEdits, unless all the masked positions are filled in order so that
+ // cursor position relative to the displayed text matches position relative to actual text.
+ aCursorSelection.iAnchorPos = combinedSize;
+ aCursorSelection.iCursorPos = combinedSize;
+ } else {
+ aCursorSelection.iAnchorPos = anchor;
+ aCursorSelection.iCursorPos = cursor;
+ }
+ } QT_CATCH(const std::exception&) {
+ aCursorSelection.SetSelection(0,0);
}
}
@@ -1618,6 +1641,12 @@ void QCoeFepInputContext::GetFormatForFep(TCharFormat& aFormat, TInt /* aDocumen
}
void QCoeFepInputContext::GetScreenCoordinatesForFepL(TPoint& aLeftSideOfBaseLine, TInt& aHeight,
+ TInt& aAscent, TInt aDocumentPosition) const
+{
+ QT_TRYCATCH_LEAVING(getScreenCoordinatesForFepX(aLeftSideOfBaseLine, aHeight, aAscent, aDocumentPosition));
+}
+
+void QCoeFepInputContext::getScreenCoordinatesForFepX(TPoint& aLeftSideOfBaseLine, TInt& aHeight,
TInt& aAscent, TInt /* aDocumentPosition */) const
{
QWidget *w = focusWidget();
@@ -1774,36 +1803,40 @@ TBool QCoeFepInputContext::CcpuIsFocused() const
TBool QCoeFepInputContext::CcpuCanCut() const
{
- bool retval = false;
- if (m_inDestruction)
- return retval;
- QWidget *w = focusWidget();
- QObject *focusObject = 0;
- if (!w) {
- w = m_lastFocusedEditor;
- focusObject = m_lastFocusedObject;
- } else {
- w = getQWidgetFromQGraphicsView(w, &focusObject);
- }
- if (w) {
- QRect microFocus = w->inputMethodQuery(Qt::ImMicroFocus).toRect();
- if (microFocus.isNull()) {
- // For some reason, the editor does not have microfocus. Most probably,
- // it is due to using native fullscreen editing mode with QML apps.
- // Try accessing "selectedText" directly.
- QObject *invokeTarget = w;
- if (focusObject)
- invokeTarget = focusObject;
-
- QString selectedText = invokeTarget->property("selectedText").toString();
- retval = !selectedText.isNull();
+ QT_TRY {
+ bool retval = false;
+ if (m_inDestruction)
+ return retval;
+ QWidget *w = focusWidget();
+ QObject *focusObject = 0;
+ if (!w) {
+ w = m_lastFocusedEditor;
+ focusObject = m_lastFocusedObject;
} else {
- int cursor = w->inputMethodQuery(Qt::ImCursorPosition).toInt();
- int anchor = w->inputMethodQuery(Qt::ImAnchorPosition).toInt();
- retval = cursor != anchor;
+ w = getQWidgetFromQGraphicsView(w, &focusObject);
+ }
+ if (w) {
+ QRect microFocus = w->inputMethodQuery(Qt::ImMicroFocus).toRect();
+ if (microFocus.isNull()) {
+ // For some reason, the editor does not have microfocus. Most probably,
+ // it is due to using native fullscreen editing mode with QML apps.
+ // Try accessing "selectedText" directly.
+ QObject *invokeTarget = w;
+ if (focusObject)
+ invokeTarget = focusObject;
+
+ QString selectedText = invokeTarget->property("selectedText").toString();
+ retval = !selectedText.isNull();
+ } else {
+ int cursor = w->inputMethodQuery(Qt::ImCursorPosition).toInt();
+ int anchor = w->inputMethodQuery(Qt::ImAnchorPosition).toInt();
+ retval = cursor != anchor;
+ }
}
+ return retval;
+ } QT_CATCH(const std::exception&) {
+ return EFalse;
}
- return retval;
}
void QCoeFepInputContext::CcpuCutL()
diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp
index 868cd92..1fbf69c 100644
--- a/src/gui/itemviews/qtreeview.cpp
+++ b/src/gui/itemviews/qtreeview.cpp
@@ -1388,11 +1388,19 @@ void QTreeViewPrivate::adjustViewOptionsForIndex(QStyleOptionViewItemV4 *option,
option->showDecorationSelected = (selectionBehavior & QTreeView::SelectRows)
|| option->showDecorationSelected;
- QVector<int> logicalIndices;
- QVector<QStyleOptionViewItemV4::ViewItemPosition> viewItemPosList; // vector of left/middle/end for each logicalIndex
+ QVector<int> logicalIndices; // index = visual index of visible columns only. data = logical index.
+ QVector<QStyleOptionViewItemV4::ViewItemPosition> viewItemPosList; // vector of left/middle/end for each logicalIndex, visible columns only.
calcLogicalIndices(&logicalIndices, &viewItemPosList);
- int logicalIndex = header->logicalIndex(current.column());
- option->viewItemPosition = viewItemPosList.at(logicalIndex);
+
+ int columnIndex = 0;
+ for (int visualIndex = 0; visualIndex < current.column(); ++visualIndex) {
+ int logicalIndex = header->logicalIndex(visualIndex);
+ if (!header->isSectionHidden(logicalIndex)) {
+ ++columnIndex;
+ }
+ }
+
+ option->viewItemPosition = viewItemPosList.at(columnIndex);
}
@@ -2919,7 +2927,6 @@ void QTreeViewPrivate::expand(int item, bool emitSignal)
void QTreeViewPrivate::insertViewItems(int pos, int count, const QTreeViewItem &viewItem)
{
- Q_Q(QTreeView);
viewItems.insert(pos, count, viewItem);
QTreeViewItem *items = viewItems.data();
for (int i = pos + count; i < viewItems.count(); i++)
@@ -2927,6 +2934,7 @@ void QTreeViewPrivate::insertViewItems(int pos, int count, const QTreeViewItem &
items[i].parentItem += count;
#ifndef QT_NO_ACCESSIBILITY
#ifdef Q_WS_X11
+ Q_Q(QTreeView);
if (QAccessible::isActive()) {
QAccessible::updateAccessibility(q, 0, QAccessible::TableModelChanged);
}
@@ -2936,7 +2944,6 @@ void QTreeViewPrivate::insertViewItems(int pos, int count, const QTreeViewItem &
void QTreeViewPrivate::removeViewItems(int pos, int count)
{
- Q_Q(QTreeView);
viewItems.remove(pos, count);
QTreeViewItem *items = viewItems.data();
for (int i = pos; i < viewItems.count(); i++)
@@ -2944,6 +2951,7 @@ void QTreeViewPrivate::removeViewItems(int pos, int count)
items[i].parentItem -= count;
#ifndef QT_NO_ACCESSIBILITY
#ifdef Q_WS_X11
+ Q_Q(QTreeView);
if (QAccessible::isActive()) {
QAccessible::updateAccessibility(q, 0, QAccessible::TableModelChanged);
}
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index fe239f5..587c0f2 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -273,19 +273,16 @@ void QS60Data::controlVisibilityChanged(CCoeControl *control, bool visible)
TRect QS60Data::clientRect()
{
TRect r = static_cast<CEikAppUi*>(S60->appUi())->ClientRect();
- if (S60->partialKeyboardOpen) {
- // Adjust client rect when splitview is open, since for some curious reason
- // native side insists that clientRect starts from (0,0) even though status
- // pane might be visible.
+ if (S60->partialKeyboardOpen && !QApplication::testAttribute(Qt::AA_S60DontConstructApplicationPanes)) {
+ // Adjust client rect when splitview is open
+ // We want it to take the client rect space as if the splitview keyboard was not there
TRect statusPaneRect;
TRect mainRect;
AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EStatusPane, statusPaneRect);
AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainRect);
int clientAreaHeight = mainRect.Height();
CEikStatusPane *const s = S60->statusPane();
- if (s && s->IsVisible())
- r.Move(0, statusPaneRect.Height());
- else
+ if (!(s && s->IsVisible()))
clientAreaHeight += statusPaneRect.Height();
r.SetHeight(clientAreaHeight);
}
@@ -1534,53 +1531,57 @@ bool QSymbianControl::hasFocusedAndVisibleChild(QWidget *parentWidget)
void QSymbianControl::FocusChanged(TDrawNow /* aDrawNow */)
{
- if (m_ignoreFocusChanged || (qwidget->windowType() & Qt::WindowType_Mask) == Qt::Desktop)
- return;
+ QT_TRY {
+ if (m_ignoreFocusChanged || (qwidget->windowType() & Qt::WindowType_Mask) == Qt::Desktop)
+ return;
#ifdef Q_WS_S60
- if (S60->splitViewLastWidget)
- return;
+ if (S60->splitViewLastWidget)
+ return;
#endif
- // Popups never get focused, but still receive the FocusChanged when they are hidden.
- if (QApplicationPrivate::popupWidgets != 0
- || (qwidget->windowType() & Qt::Popup) == Qt::Popup)
- return;
-
- if (IsFocused() && IsVisible()) {
- if (m_symbianPopupIsOpen) {
- QWidget *fw = QApplication::focusWidget();
- if (fw) {
- QFocusEvent event(QEvent::FocusIn, Qt::PopupFocusReason);
- QCoreApplication::sendEvent(fw, &event);
- }
- m_symbianPopupIsOpen = false;
- }
+ // Popups never get focused, but still receive the FocusChanged when they are hidden.
+ if (QApplicationPrivate::popupWidgets != 0
+ || (qwidget->windowType() & Qt::Popup) == Qt::Popup)
+ return;
- QApplication::setActiveWindow(qwidget->window());
- qwidget->d_func()->setWindowIcon_sys(true);
- qwidget->d_func()->setWindowTitle_sys(qwidget->windowTitle());
-#ifdef Q_WS_S60
- if (qwidget->isWindow())
- S60->setRecursiveDecorationsVisibility(qwidget, qwidget->windowState());
-#endif
- } else {
QWidget *parentWindow = qwidget->window();
- if (QApplication::activeWindow() == parentWindow && !hasFocusedAndVisibleChild(parentWindow)) {
- if (CCoeEnv::Static()->AppUi()->IsDisplayingMenuOrDialog() || S60->menuBeingConstructed) {
+ if (IsFocused() && IsVisible()) {
+ if (m_symbianPopupIsOpen) {
QWidget *fw = QApplication::focusWidget();
if (fw) {
- QFocusEvent event(QEvent::FocusOut, Qt::PopupFocusReason);
+ QFocusEvent event(QEvent::FocusIn, Qt::PopupFocusReason);
QCoreApplication::sendEvent(fw, &event);
}
- m_symbianPopupIsOpen = true;
- return;
+ m_symbianPopupIsOpen = false;
}
- QApplication::setActiveWindow(0);
+ QApplication::setActiveWindow(qwidget->window());
+ qwidget->d_func()->setWindowIcon_sys(true);
+ qwidget->d_func()->setWindowTitle_sys(qwidget->windowTitle());
+#ifdef Q_WS_S60
+ if (parentWindow->isWindow())
+ S60->setRecursiveDecorationsVisibility(parentWindow, parentWindow->windowState());
+#endif
+ } else {
+ if (QApplication::activeWindow() == parentWindow && !hasFocusedAndVisibleChild(parentWindow)) {
+ if (CCoeEnv::Static()->AppUi()->IsDisplayingMenuOrDialog() || S60->menuBeingConstructed) {
+ QWidget *fw = QApplication::focusWidget();
+ if (fw) {
+ QFocusEvent event(QEvent::FocusOut, Qt::PopupFocusReason);
+ QCoreApplication::sendEvent(fw, &event);
+ }
+ m_symbianPopupIsOpen = true;
+ return;
+ }
+
+ QApplication::setActiveWindow(0);
+ }
}
+ // else { We don't touch the active window unless we were explicitly activated or deactivated }
+ } QT_CATCH(const std::exception&) {
+ // ignore errors
}
- // else { We don't touch the active window unless we were explicitly activated or deactivated }
}
void QSymbianControl::handleClientAreaChange()
@@ -2065,9 +2066,6 @@ extern void qt_cleanup_symbianFontDatabase(); // qfontdatabase_s60.cpp
*****************************************************************************/
void qt_cleanup()
{
-#ifdef Q_WS_S60
- S60->setButtonGroupContainer(0);
-#endif
if(qt_S60Beep) {
delete qt_S60Beep;
qt_S60Beep = 0;
@@ -2377,19 +2375,25 @@ int QApplication::symbianProcessEvent(const QSymbianEvent *event)
QScopedLoopLevelCounter counter(d->threadData);
- if (d->eventDispatcher->filterEvent(const_cast<QSymbianEvent *>(event)))
- return 1;
+ QT_TRY {
+ if (d->eventDispatcher->filterEvent(const_cast<QSymbianEvent *>(event)))
+ return 1;
- QWidget *w = qApp ? qApp->focusWidget() : 0;
- if (w) {
- QInputContext *ic = w->inputContext();
- if (ic && ic->symbianFilterEvent(w, event))
+ QWidget *w = qApp ? qApp->focusWidget() : 0;
+ if (w) {
+ QInputContext *ic = w->inputContext();
+ if (ic && ic->symbianFilterEvent(w, event))
+ return 1;
+ }
+
+ if (symbianEventFilter(event))
return 1;
+ } QT_CATCH(const std::exception& ex) {
+ // don't allow an exception to stop exit command handling
+ if (event->type() != QSymbianEvent::CommandEvent || event->command() != EEikCmdExit)
+ QT_RETHROW;
}
- if (symbianEventFilter(event))
- return 1;
-
switch (event->type()) {
case QSymbianEvent::WindowServerEvent:
return d->symbianProcessWsEvent(event);
diff --git a/src/gui/kernel/qclipboard_s60.cpp b/src/gui/kernel/qclipboard_s60.cpp
index f5314bd..dc812fb 100644
--- a/src/gui/kernel/qclipboard_s60.cpp
+++ b/src/gui/kernel/qclipboard_s60.cpp
@@ -187,6 +187,7 @@ void readSymbianStoreLX(QMimeData* aData, CClipboard* clipboard)
QString string = qt_TDesC2QString(buf);
CleanupStack::PopAndDestroy(text);
+ aData->clear();
aData->setText(string);
}
@@ -196,6 +197,8 @@ void readFromStreamLX(QMimeData* aData,RReadStream& aStream)
// dependencies between cleanup styles, and no cleanup stack dependencies on stacked objects.
TCardinality mimeTypeCount;
aStream >> mimeTypeCount;
+ if (mimeTypeCount > 0)
+ aData->clear();
for (int i = 0; i< mimeTypeCount;i++)
{
// mime type
diff --git a/src/gui/kernel/qsoftkeymanager_s60.cpp b/src/gui/kernel/qsoftkeymanager_s60.cpp
index 999fccc..4d58baa 100644
--- a/src/gui/kernel/qsoftkeymanager_s60.cpp
+++ b/src/gui/kernel/qsoftkeymanager_s60.cpp
@@ -104,8 +104,13 @@ void QSoftKeyManagerPrivateS60::ensureCbaVisibilityAndResponsiviness(CEikButtonG
{
RDrawableWindow *cbaWindow = cba.DrawableWindow();
Q_ASSERT_X(cbaWindow, Q_FUNC_INFO, "Native CBA does not have window!");
- // Make sure CBA is visible, i.e. CBA window is on top
- cbaWindow->SetOrdinalPosition(0);
+ // CBA comes on top of new option menu
+ int pos = 0;
+
+ if(cba.ButtonGroupType()== SLafButtonGroupContainer::ECba)
+ pos = 1;
+
+ cbaWindow->SetOrdinalPosition(pos);
// Qt shares same CBA instance between top-level widgets,
// make sure we are not faded by underlying window.
cbaWindow->SetFaded(EFalse, RWindowTreeNode::EFadeIncludeChildren);
diff --git a/src/gui/kernel/qt_s60_p.h b/src/gui/kernel/qt_s60_p.h
index 5b5d5ce..c75b20e 100644
--- a/src/gui/kernel/qt_s60_p.h
+++ b/src/gui/kernel/qt_s60_p.h
@@ -230,6 +230,7 @@ public:
int beginFullScreenCalled : 1;
int endFullScreenCalled : 1;
+ int editorFlags;
};
Q_AUTOTEST_EXPORT QS60Data* qGlobalS60Data();
@@ -390,7 +391,8 @@ inline QS60Data::QS60Data()
,s60InstalledTrapHandler(0)
#endif
,beginFullScreenCalled(0),
- endFullScreenCalled(0)
+ endFullScreenCalled(0),
+ editorFlags(0)
{
}
diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp
index 52e3046..c3362ae 100644
--- a/src/gui/kernel/qwidget_x11.cpp
+++ b/src/gui/kernel/qwidget_x11.cpp
@@ -2666,8 +2666,17 @@ void QWidgetPrivate::setConstraints_sys()
#ifdef ALIEN_DEBUG
qDebug() << "QWidgetPrivate::setConstraints_sys START" << q;
#endif
- if (q->testAttribute(Qt::WA_WState_Created))
+ if (q->testAttribute(Qt::WA_WState_Created)) {
do_size_hints(q, extra);
+ QtMWMHints mwmHints = GetMWMHints(X11->display, q->internalWinId());
+ const bool wasFuncResize = mwmHints.functions & MWM_FUNC_RESIZE;
+ if (q->minimumSize() == q->maximumSize())
+ mwmHints.functions &= ~MWM_FUNC_RESIZE;
+ else
+ mwmHints.functions |= MWM_FUNC_RESIZE;
+ if (wasFuncResize != (mwmHints.functions & MWM_FUNC_RESIZE))
+ SetMWMHints(X11->display, q->internalWinId(), mwmHints);
+ }
#ifdef ALIEN_DEBUG
qDebug() << "QWidgetPrivate::setConstraints_sys END" << q;
#endif
diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri
index 27b1bf2..d4f904b 100644
--- a/src/gui/painting/painting.pri
+++ b/src/gui/painting/painting.pri
@@ -200,10 +200,12 @@ symbian {
SOURCES += \
painting/qpaintengine_raster_symbian.cpp \
painting/qregion_s60.cpp \
- painting/qcolormap_s60.cpp
+ painting/qcolormap_s60.cpp \
+ painting/qgraphicssystemhelper_symbian.cpp
HEADERS += \
- painting/qpaintengine_raster_symbian_p.h
+ painting/qpaintengine_raster_symbian_p.h \
+ painting/qgraphicssystemhelper_symbian.h
}
x11|embedded|qpa {
diff --git a/src/gui/painting/qbackingstore.cpp b/src/gui/painting/qbackingstore.cpp
index 6fbb59f..d79be41 100644
--- a/src/gui/painting/qbackingstore.cpp
+++ b/src/gui/painting/qbackingstore.cpp
@@ -1625,7 +1625,7 @@ void QWidgetPrivate::repaint_sys(const QRegion &rgn)
extra->staticContentsSize = data.crect.size();
}
-#ifdef Q_WS_QPA //Dont even call q->p
+#ifdef Q_WS_QPA //Don't even call q->p
QPaintEngine *engine = 0;
#else
QPaintEngine *engine = q->paintEngine();
diff --git a/src/gui/painting/qgraphicssystem_runtime.cpp b/src/gui/painting/qgraphicssystem_runtime.cpp
index 19b29a1..6d3f16e 100644
--- a/src/gui/painting/qgraphicssystem_runtime.cpp
+++ b/src/gui/painting/qgraphicssystem_runtime.cpp
@@ -330,11 +330,15 @@ QRuntimeGraphicsSystem::QRuntimeGraphicsSystem()
{
QApplicationPrivate::runtime_graphics_system = true;
+ if (!qgetenv("QT_DEFAULT_RUNTIME_SYSTEM").isEmpty()) {
+ m_graphicsSystemName = QString::fromLocal8Bit(qgetenv("QT_DEFAULT_RUNTIME_SYSTEM"));
+ } else {
#ifdef QT_DEFAULT_RUNTIME_SYSTEM
- m_graphicsSystemName = QLatin1String(QT_DEFAULT_RUNTIME_SYSTEM);
- if (m_graphicsSystemName.isNull())
+ m_graphicsSystemName = QLatin1String(QT_DEFAULT_RUNTIME_SYSTEM);
+ if (m_graphicsSystemName.isNull())
#endif
- m_graphicsSystemName = QLatin1String("raster");
+ m_graphicsSystemName = QLatin1String("raster");
+ }
#ifdef Q_OS_SYMBIAN
m_windowSurfaceDestroyPolicy = DestroyAfterFirstFlush;
diff --git a/src/gui/painting/qgraphicssystemex_symbian.cpp b/src/gui/painting/qgraphicssystemex_symbian.cpp
index 5a182ff..5bfd5a8 100644
--- a/src/gui/painting/qgraphicssystemex_symbian.cpp
+++ b/src/gui/painting/qgraphicssystemex_symbian.cpp
@@ -74,7 +74,7 @@ bool QSymbianGraphicsSystemEx::hasBCM2727()
#if 1
// Hacky but fast ~0ms.
const char* vendor = eglQueryString(display, EGL_VENDOR);
- if (strstr(vendor, "Broadcom")) {
+ if (vendor && strstr(vendor, "Broadcom")) {
const TUid KIvePropertyCat = {0x2726beef};
enum TIvePropertyChipType {
EVCBCM2727B1 = 0x00000000,
diff --git a/src/gui/painting/qgraphicssystemfactory.cpp b/src/gui/painting/qgraphicssystemfactory.cpp
index 01ece09..b817a90 100644
--- a/src/gui/painting/qgraphicssystemfactory.cpp
+++ b/src/gui/painting/qgraphicssystemfactory.cpp
@@ -45,7 +45,6 @@
#include "qmutex.h"
#include "qapplication.h"
-#include <private/qapplication_p.h>
#include "qgraphicssystem_raster_p.h"
#include "qgraphicssystem_runtime_p.h"
#include "qdebug.h"
@@ -80,7 +79,6 @@ QGraphicsSystem *QGraphicsSystemFactory::create(const QString& key)
}
#endif
- QApplicationPrivate::graphics_system_name = system;
if (system == QLatin1String("raster"))
return new QRasterGraphicsSystem;
else if (system == QLatin1String("runtime"))
diff --git a/src/gui/painting/qgraphicssystemhelper_symbian.cpp b/src/gui/painting/qgraphicssystemhelper_symbian.cpp
new file mode 100644
index 0000000..eb70247
--- /dev/null
+++ b/src/gui/painting/qgraphicssystemhelper_symbian.cpp
@@ -0,0 +1,141 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qgraphicssystemhelper_symbian.h"
+#include "qt_s60_p.h"
+#include "qwidget_p.h"
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \enum QSymbianGraphicsSystemHelper::NativePaintMode
+
+ This enum controls the way in which QWidget paints content from the Qt
+ backing store into the corresponding native window surface.
+
+ \value NativePaintModeDefault Default painting behaviour.
+ \value NativePaintModeZeroFill Ignore contents of backing store, and
+ fill the window surface region with zeroes.
+ \value NativePaintModeWriteAlpha By default, alpha values are only copied
+ from the backing store into the window surface if the top-level widget
+ has the Qt::WA_TranslucentBackground attribute. If this mode is set,
+ alpha values are copied regardless of the value of that attribute.
+ \value NativePaintModeDisable Do not paint anything into the native window
+ surface.
+ */
+
+/*!
+ \class QSymbianGraphicsSystemHelper
+ \ingroup painting
+
+ \brief QSymbianGraphicsSystemHelper defines functions required by
+ QtMultimediaKit in order to enable video rendering.
+
+ This class is not intended for use by applications.
+*/
+
+/*!
+ Specify whether native focus change events should be ignored by the widget.
+*/
+
+void QSymbianGraphicsSystemHelper::setIgnoreFocusChanged(QWidget *widget, bool value)
+{
+ static_cast<QSymbianControl *>(widget->winId())->setIgnoreFocusChanged(value);
+}
+
+/*!
+ Set the native paint mode to the specified \a mode.
+*/
+
+void QSymbianGraphicsSystemHelper::setNativePaintMode(QWidget *widget, NativePaintMode mode)
+{
+ QWidgetPrivate *widgetPrivate = qt_widget_private(widget->window());
+ widgetPrivate->createExtra();
+ QWExtra::NativePaintMode widgetMode = QWExtra::Default;
+ switch (mode) {
+ case NativePaintModeDefault:
+ break;
+ case NativePaintModeZeroFill:
+ widgetMode = QWExtra::ZeroFill;
+ break;
+ case NativePaintModeWriteAlpha:
+ widgetMode = QWExtra::BlitWriteAlpha;
+ break;
+ case NativePaintModeDisable:
+ widgetMode = QWExtra::Disable;
+ break;
+ }
+ widgetPrivate->extraData()->nativePaintMode = widgetMode;
+}
+
+/*!
+ Set the native paint mode to the specified \a mode.
+*/
+
+void QSymbianGraphicsSystemHelper::setNativePaintMode(WId wid, NativePaintMode mode)
+{
+ QWidget *window = static_cast<QSymbianControl *>(wid)->widget()->window();
+ setNativePaintMode(window, mode);
+}
+
+/*!
+ Specify whether the widget should receive receive native paint events.
+
+ If enabled, the QWidget::beginNativePaintEvent slot is called before
+ content from the backing store is written into the native window
+ surface, and QWidget::endNativePaintEvent is called once writing to
+ the native window surface is complete.
+
+ This function is intended for use by QWidget clients such as video
+ widgets, which wish to use Direct Screen Access to write into the
+ native window surface. Such clients should stop their DSA session on
+ receipt of QWidget::beginNativePaintEvent, and re-start it on receipt of
+ QWidget::endNativePaintEvent.
+*/
+
+void QSymbianGraphicsSystemHelper::setReceiveNativePaintEvents(QWidget *widget, bool value)
+{
+ QWidgetPrivate *widgetPrivate = qt_widget_private(widget);
+ widgetPrivate->createExtra();
+ widgetPrivate->extraData()->receiveNativePaintEvents = value;
+}
+
+QT_END_NAMESPACE
diff --git a/src/gui/painting/qgraphicssystemhelper_symbian.h b/src/gui/painting/qgraphicssystemhelper_symbian.h
new file mode 100644
index 0000000..b74144e
--- /dev/null
+++ b/src/gui/painting/qgraphicssystemhelper_symbian.h
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QSYMBIANGRAPHICSSYSTEMHELPER_H
+#define QSYMBIANGRAPHICSSYSTEMHELPER_H
+
+#include <QtCore/qglobal.h>
+
+#ifndef Q_OS_SYMBIAN
+#error "This header file can only be included when building for Symbian"
+#endif
+
+#include <QtGui/qwindowdefs.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Gui)
+
+class QWidget;
+
+class Q_GUI_EXPORT QSymbianGraphicsSystemHelper
+{
+public:
+ enum NativePaintMode {
+ NativePaintModeDefault,
+ NativePaintModeZeroFill,
+ NativePaintModeWriteAlpha,
+ NativePaintModeDisable
+ };
+
+ static void setIgnoreFocusChanged(QWidget *widget, bool value);
+ static void setNativePaintMode(QWidget *widget, NativePaintMode mode);
+ static void setNativePaintMode(WId wid, NativePaintMode mode);
+ static void setReceiveNativePaintEvents(QWidget *widget, bool value);
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QSYMBIANGRAPHICSSYSTEMHELPER_H
+
diff --git a/src/imports/shaders/glfunctions.h b/src/imports/shaders/glfunctions.h
index c7ba80d..c7ba80d 100755..100644
--- a/src/imports/shaders/glfunctions.h
+++ b/src/imports/shaders/glfunctions.h
diff --git a/src/imports/shaders/shadereffectitem.cpp b/src/imports/shaders/shadereffectitem.cpp
index b954e5a..b954e5a 100755..100644
--- a/src/imports/shaders/shadereffectitem.cpp
+++ b/src/imports/shaders/shadereffectitem.cpp
diff --git a/src/network/bearer/qnetworkconfigmanager.cpp b/src/network/bearer/qnetworkconfigmanager.cpp
index 8065025..da09a9c 100644
--- a/src/network/bearer/qnetworkconfigmanager.cpp
+++ b/src/network/bearer/qnetworkconfigmanager.cpp
@@ -46,34 +46,56 @@
#include <QtCore/qstringlist.h>
#include <QtCore/qcoreapplication.h>
+#include <QtCore/qmutex.h>
+#include <QtCore/qthread.h>
+#include <QtCore/private/qcoreapplication_p.h>
#ifndef QT_NO_BEARERMANAGEMENT
QT_BEGIN_NAMESPACE
-#define Q_GLOBAL_STATIC_QAPP_DESTRUCTION(TYPE, NAME) \
- static QGlobalStatic<TYPE > this_##NAME \
- = { Q_BASIC_ATOMIC_INITIALIZER(0), false }; \
- static void NAME##_cleanup() \
- { \
- this_##NAME.pointer->cleanup(); \
- this_##NAME.pointer = 0; \
- } \
- static TYPE *NAME() \
- { \
- if (!this_##NAME.pointer) { \
- TYPE *x = new TYPE; \
- if (!this_##NAME.pointer.testAndSetOrdered(0, x)) \
- delete x; \
- else { \
- qAddPostRoutine(NAME##_cleanup); \
- this_##NAME.pointer->initialize(); \
- } \
- } \
- return this_##NAME.pointer; \
- }
+static QBasicAtomicPointer<QNetworkConfigurationManagerPrivate> connManager_ptr;
+Q_GLOBAL_STATIC(QMutex, connManager_mutex)
+
+static void connManager_cleanup()
+{
+ // this is not atomic or thread-safe!
+ if(connManager_ptr)
+ connManager_ptr->cleanup();
+ connManager_ptr = 0;
+}
+
+void QNetworkConfigurationManagerPrivate::addPostRoutine()
+{
+ qAddPostRoutine(connManager_cleanup);
+}
-Q_GLOBAL_STATIC_QAPP_DESTRUCTION(QNetworkConfigurationManagerPrivate, connManager);
+static QNetworkConfigurationManagerPrivate *connManager()
+{
+ QNetworkConfigurationManagerPrivate *ptr = connManager_ptr.fetchAndAddAcquire(0);
+ if (!ptr) {
+ QMutexLocker locker(connManager_mutex());
+ if (!(ptr = connManager_ptr.fetchAndAddAcquire(0))) {
+ ptr = new QNetworkConfigurationManagerPrivate;
+
+ if (QCoreApplicationPrivate::mainThread() == QThread::currentThread()) {
+ // right thread or no main thread yet
+ ptr->addPostRoutine();
+ ptr->initialize();
+ } else {
+ // wrong thread, we need to make the main thread do this
+ QObject *obj = new QObject;
+ QObject::connect(obj, SIGNAL(destroyed()), ptr, SLOT(addPostRoutine()), Qt::DirectConnection);
+ ptr->initialize(); // this moves us to the right thread
+ obj->moveToThread(QCoreApplicationPrivate::mainThread());
+ obj->deleteLater();
+ }
+
+ connManager_ptr.fetchAndStoreRelease(ptr);
+ }
+ }
+ return ptr;
+}
QNetworkConfigurationManagerPrivate *qNetworkConfigurationManagerPrivate()
{
diff --git a/src/network/bearer/qnetworkconfigmanager_p.h b/src/network/bearer/qnetworkconfigmanager_p.h
index 56f66b4..ded1701 100644
--- a/src/network/bearer/qnetworkconfigmanager_p.h
+++ b/src/network/bearer/qnetworkconfigmanager_p.h
@@ -94,6 +94,8 @@ public:
public Q_SLOTS:
void updateConfigurations();
+ static void addPostRoutine();
+
Q_SIGNALS:
void configurationAdded(const QNetworkConfiguration &config);
void configurationRemoved(const QNetworkConfiguration &config);
@@ -108,6 +110,7 @@ private Q_SLOTS:
void pollEngines();
+
private:
Q_INVOKABLE void startPolling();
QTimer *pollTimer;
diff --git a/src/network/kernel/qnetworkproxy.cpp b/src/network/kernel/qnetworkproxy.cpp
index 71d61a4..4167b6d 100644
--- a/src/network/kernel/qnetworkproxy.cpp
+++ b/src/network/kernel/qnetworkproxy.cpp
@@ -1384,9 +1384,9 @@ void QNetworkProxyFactory::setApplicationProxyFactory(QNetworkProxyFactory *fact
SOCKS server for all queries. If SOCKS isn't enabled, it will use
the HTTPS proxy for all TcpSocket and UrlRequest queries.
- On other systems, there is no standardised method of obtaining the
- system proxy configuration. This function may be improved in
- future versions to support those systems.
+ On other systems, this function will pick up proxy settings from
+ the "http_proxy" environment variable. This variable must be a URL
+ using one of the following schemes: "http", "socks5" or "socks5h".
\section1 Limitations
diff --git a/src/network/kernel/qnetworkproxy_symbian.cpp b/src/network/kernel/qnetworkproxy_symbian.cpp
index 73068d6..e96c372 100644
--- a/src/network/kernel/qnetworkproxy_symbian.cpp
+++ b/src/network/kernel/qnetworkproxy_symbian.cpp
@@ -60,6 +60,7 @@
#include <QtNetwork/QNetworkConfigurationManager>
#include <QtNetwork/QNetworkConfiguration>
#include <QFlags>
+#include <QtCore/private/qcore_symbian_p.h>
using namespace CommsDat;
@@ -73,6 +74,25 @@ public:
void setIapId(TUint32 iapId) { valid = true; id = iapId; }
bool isValid() { return valid; }
TUint32 iapId() { return id; }
+ static SymbianIapId fromConfiguration(const QNetworkConfiguration& config)
+ {
+ SymbianIapId iapId;
+ // Note: the following code assumes that the identifier is in format
+ // I_xxxx where xxxx is the identifier of IAP. This is meant as a
+ // temporary solution until there is a support for returning
+ // implementation specific identifier.
+ const int generalPartLength = 2;
+ QString idString(config.identifier().mid(generalPartLength));
+ bool success;
+ uint id = idString.toUInt(&success);
+ if (success)
+ iapId.setIapId(id);
+ else
+ qWarning() << "Failed to convert identifier to access point identifier: "
+ << config.identifier();
+ return iapId;
+ }
+
private:
bool valid;
TUint32 id;
@@ -122,9 +142,16 @@ QNetworkConfiguration SymbianProxyQuery::findCurrentConfigurationFromServiceNetw
QNetworkConfiguration SymbianProxyQuery::findCurrentConfiguration(QNetworkConfigurationManager& configurationManager)
{
+ QList<TUint32> openConfigurations = QSymbianSocketManager::instance().activeConnections();
QList<QNetworkConfiguration> activeConfigurations = configurationManager.allConfigurations(
QNetworkConfiguration::Active);
+ for (int i = 0; i < activeConfigurations.count(); i++) {
+ // get first configuration which was opened by this process
+ if (openConfigurations.contains(SymbianIapId::fromConfiguration(activeConfigurations.at(i)).iapId()))
+ return activeConfigurations.at(i);
+ }
if (activeConfigurations.count() > 0) {
+ // get first active configuration opened by any process
return activeConfigurations.at(0);
} else {
// No active configurations, try default one
diff --git a/src/network/socket/qlocalserver_unix.cpp b/src/network/socket/qlocalserver_unix.cpp
index 851e898..390712c 100644
--- a/src/network/socket/qlocalserver_unix.cpp
+++ b/src/network/socket/qlocalserver_unix.cpp
@@ -167,16 +167,16 @@ bool QLocalServerPrivate::listen(const QString &requestedServerName)
*/
void QLocalServerPrivate::closeServer()
{
- if (-1 != listenSocket)
- QT_CLOSE(listenSocket);
- listenSocket = -1;
-
if (socketNotifier) {
socketNotifier->setEnabled(false); // Otherwise, closed socket is checked before deleter runs
socketNotifier->deleteLater();
socketNotifier = 0;
}
+ if (-1 != listenSocket)
+ QT_CLOSE(listenSocket);
+ listenSocket = -1;
+
if (!fullServerName.isEmpty())
QFile::remove(fullServerName);
}
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
index 5f520f7..872b19c 100644
--- a/src/network/ssl/qsslsocket_openssl.cpp
+++ b/src/network/ssl/qsslsocket_openssl.cpp
@@ -254,7 +254,11 @@ bool QSslSocketBackendPrivate::initSslContext()
init_context:
switch (configuration.protocol) {
case QSsl::SslV2:
+#ifndef OPENSSL_NO_SSL2
ctx = q_SSL_CTX_new(client ? q_SSLv2_client_method() : q_SSLv2_server_method());
+#else
+ ctx = 0; // SSL 2 not supported by the system, but chosen deliberately -> error
+#endif
break;
case QSsl::SslV3:
ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
index 90a840f..51ecf5d 100644
--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
@@ -222,11 +222,15 @@ DEFINEFUNC(void, SSL_set_accept_state, SSL *a, a, return, DUMMYARG)
DEFINEFUNC(void, SSL_set_connect_state, SSL *a, a, return, DUMMYARG)
DEFINEFUNC(int, SSL_shutdown, SSL *a, a, return -1, return)
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+#ifndef OPENSSL_NO_SSL2
DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
+#endif
DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
+#ifndef OPENSSL_NO_SSL2
DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
+#endif
DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
@@ -741,11 +745,15 @@ bool q_resolveOpenSslSymbols()
RESOLVEFUNC(SSL_set_connect_state)
RESOLVEFUNC(SSL_shutdown)
RESOLVEFUNC(SSL_write)
+#ifndef OPENSSL_NO_SSL2
RESOLVEFUNC(SSLv2_client_method)
+#endif
RESOLVEFUNC(SSLv3_client_method)
RESOLVEFUNC(SSLv23_client_method)
RESOLVEFUNC(TLSv1_client_method)
+#ifndef OPENSSL_NO_SSL2
RESOLVEFUNC(SSLv2_server_method)
+#endif
RESOLVEFUNC(SSLv3_server_method)
RESOLVEFUNC(SSLv23_server_method)
RESOLVEFUNC(TLSv1_server_method)
diff --git a/src/opengl/qgl_qpa.cpp b/src/opengl/qgl_qpa.cpp
index 518c860..b31833a 100644
--- a/src/opengl/qgl_qpa.cpp
+++ b/src/opengl/qgl_qpa.cpp
@@ -404,7 +404,7 @@ QGLContext *QGLContext::fromPlatformGLContext(QPlatformGLContext *platformContex
return reinterpret_cast<QGLContext *>(platformContext->qGLContextHandle());
}
QGLContext *glContext = new QGLContext(platformContext);
- //Dont call create on context. This can cause the platformFormat to be set on the widget, which
+ //Don't call create on context. This can cause the platformFormat to be set on the widget, which
//will cause the platformWindow to be recreated.
return glContext;
}
diff --git a/src/opengl/qgltexturepool.cpp b/src/opengl/qgltexturepool.cpp
index 9ad66f2..d19b1db 100644
--- a/src/opengl/qgltexturepool.cpp
+++ b/src/opengl/qgltexturepool.cpp
@@ -47,7 +47,7 @@ QT_BEGIN_NAMESPACE
Q_OPENGL_EXPORT extern QGLWidget* qt_gl_share_widget();
-static QGLTexturePool *qt_gl_texture_pool = 0;
+Q_GLOBAL_STATIC(QGLTexturePool, qt_gl_texture_pool)
class QGLTexturePoolPrivate
{
@@ -69,9 +69,7 @@ QGLTexturePool::~QGLTexturePool()
QGLTexturePool *QGLTexturePool::instance()
{
- if (!qt_gl_texture_pool)
- qt_gl_texture_pool = new QGLTexturePool();
- return qt_gl_texture_pool;
+ return qt_gl_texture_pool();
}
GLuint QGLTexturePool::createTexture(GLenum target,
diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp
index e963f8c..a15084b 100644
--- a/src/opengl/qwindowsurface_gl.cpp
+++ b/src/opengl/qwindowsurface_gl.cpp
@@ -362,7 +362,7 @@ QGLWindowSurface::~QGLWindowSurface()
{
if (d_ptr->ctx)
glDeleteTextures(1, &d_ptr->tex_id);
-#ifndef Q_WS_QPA // Dont delete the contexts. Destroying the window does that for us
+#ifndef Q_WS_QPA // Don't delete the contexts. Destroying the window does that for us
foreach(QGLContext **ctx, d_ptr->contexts) {
delete *ctx;
*ctx = 0;
diff --git a/src/openvg/qvgimagepool.cpp b/src/openvg/qvgimagepool.cpp
index 3a187b0..cd1caf4 100644
--- a/src/openvg/qvgimagepool.cpp
+++ b/src/openvg/qvgimagepool.cpp
@@ -44,7 +44,7 @@
QT_BEGIN_NAMESPACE
-static QVGImagePool *qt_vg_image_pool = 0;
+Q_GLOBAL_STATIC(QVGImagePool, qt_vg_image_pool)
class QVGImagePoolPrivate
{
@@ -66,16 +66,7 @@ QVGImagePool::~QVGImagePool()
QVGImagePool *QVGImagePool::instance()
{
- if (!qt_vg_image_pool)
- qt_vg_image_pool = new QVGImagePool();
- return qt_vg_image_pool;
-}
-
-void QVGImagePool::setImagePool(QVGImagePool *pool)
-{
- if (qt_vg_image_pool != pool)
- delete qt_vg_image_pool;
- qt_vg_image_pool = pool;
+ return qt_vg_image_pool();
}
VGImage QVGImagePool::createTemporaryImage(VGImageFormat format,
diff --git a/src/openvg/qvgimagepool_p.h b/src/openvg/qvgimagepool_p.h
index 07c57bf..e4fd4e1 100644
--- a/src/openvg/qvgimagepool_p.h
+++ b/src/openvg/qvgimagepool_p.h
@@ -69,10 +69,6 @@ public:
static QVGImagePool *instance();
- // This function can be used from system-specific graphics system
- // plugins to alter the image allocation strategy.
- static void setImagePool(QVGImagePool *pool);
-
// Create a new VGImage from the pool with the specified parameters
// that is not associated with a pixmap. The VGImage is returned to
// the pool when releaseImage() is called.
diff --git a/src/plugins/bearer/symbian/qnetworksession_impl.cpp b/src/plugins/bearer/symbian/qnetworksession_impl.cpp
index a7dad2b..58ce8fe 100644
--- a/src/plugins/bearer/symbian/qnetworksession_impl.cpp
+++ b/src/plugins/bearer/symbian/qnetworksession_impl.cpp
@@ -64,7 +64,7 @@ QNetworkSessionPrivateImpl::QNetworkSessionPrivateImpl(SymbianEngine *engine)
ipConnectionNotifier(0), ipConnectionStarter(0),
iHandleStateNotificationsFromManager(false), iFirstSync(true), iStoppedByUser(false),
iClosedByUser(false), iError(QNetworkSession::UnknownSessionError), iALREnabled(0),
- iConnectInBackground(false), isOpening(false)
+ iConnectInBackground(false), iCurrentIap(0), isOpening(false)
{
#ifdef SNAP_FUNCTIONALITY_AVAILABLE
@@ -77,6 +77,7 @@ QNetworkSessionPrivateImpl::QNetworkSessionPrivateImpl(SymbianEngine *engine)
void QNetworkSessionPrivateImpl::closeHandles()
{
QMutexLocker lock(&mutex);
+ updateCurrentIap(0);
// Cancel Connection Progress Notifications first.
// Note: ConnectionNotifier must be destroyed before RConnection::Close()
// => deleting ipConnectionNotifier results RConnection::CancelProgressNotification()
@@ -97,7 +98,6 @@ void QNetworkSessionPrivateImpl::closeHandles()
QSymbianSocketManager::instance().setDefaultConnection(0);
- iConnectionMonitor.Close();
#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
qDebug() << "QNS this : " << QString::number((uint)this)
<< " - handles closed";
@@ -111,6 +111,7 @@ QNetworkSessionPrivateImpl::~QNetworkSessionPrivateImpl()
isOpening = false;
closeHandles();
+ iConnectionMonitor.Close();
#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
qDebug() << "QNS this : " << QString::number((uint)this)
<< " - destroyed";
@@ -637,6 +638,8 @@ void QNetworkSessionPrivateImpl::accept()
QSymbianSocketManager::instance().setDefaultConnection(&iConnection);
+ updateCurrentIap(iNewRoamingIap);
+
newState(QNetworkSession::Connected, iNewRoamingIap);
}
#endif
@@ -867,19 +870,31 @@ quint64 QNetworkSessionPrivateImpl::activeTime() const
return startTime.secsTo(QDateTime::currentDateTime());
}
-QNetworkConfiguration QNetworkSessionPrivateImpl::activeConfiguration(TUint32 iapId) const
+bool QNetworkSessionPrivateImpl::activeIapId(TUint32& iapId) const
{
- if (iapId == 0) {
- _LIT(KSetting, "IAP\\Id");
- iConnection.GetIntSetting(KSetting, iapId);
+ if (!iConnection.SubSessionHandle())
+ return false;
+ _LIT(KSetting, "IAP\\Id");
+ TInt err = iConnection.GetIntSetting(KSetting, iapId);
+ if (err != KErrNone)
+ return false;
#ifdef SNAP_FUNCTIONALITY_AVAILABLE
- // Check if this is an Easy WLAN configuration. On Symbian^3 RConnection may report
- // the used configuration as 'EasyWLAN' IAP ID if someone has just opened the configuration
- // from WLAN Scan dialog, _and_ that connection is still up. We need to find the
- // real matching configuration. Function alters the Easy WLAN ID to real IAP ID (only if
- // easy WLAN):
- easyWlanTrueIapId(iapId);
+ // Check if this is an Easy WLAN configuration. On Symbian^3 RConnection may report
+ // the used configuration as 'EasyWLAN' IAP ID if someone has just opened the configuration
+ // from WLAN Scan dialog, _and_ that connection is still up. We need to find the
+ // real matching configuration. Function alters the Easy WLAN ID to real IAP ID (only if
+ // easy WLAN):
+ easyWlanTrueIapId(iapId);
#endif
+ return true;
+}
+
+QNetworkConfiguration QNetworkSessionPrivateImpl::activeConfiguration(TUint32 iapId) const
+{
+ if (iapId == 0) {
+ bool ok = activeIapId(iapId);
+ if (!ok)
+ return QNetworkConfiguration();
}
#ifdef SNAP_FUNCTIONALITY_AVAILABLE
@@ -1015,6 +1030,20 @@ QNetworkConfiguration QNetworkSessionPrivateImpl::activeConfiguration(TUint32 ia
return publicConfig;
}
+void QNetworkSessionPrivateImpl::updateCurrentIap(TUint32 iapId)
+{
+ if (iCurrentIap == iapId)
+ return;
+
+ if (iCurrentIap != 0)
+ QSymbianSocketManager::instance().removeActiveConnection(iCurrentIap);
+
+ iCurrentIap = iapId;
+
+ if (iCurrentIap != 0)
+ QSymbianSocketManager::instance().addActiveConnection(iCurrentIap);
+}
+
void QNetworkSessionPrivateImpl::ConnectionStartComplete(TInt statusCode)
{
#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
@@ -1028,7 +1057,10 @@ void QNetworkSessionPrivateImpl::ConnectionStartComplete(TInt statusCode)
case KErrNone: // Connection created successfully
{
TInt error = KErrNone;
- QNetworkConfiguration newActiveConfig = activeConfiguration();
+ TUint32 iapId;
+ QNetworkConfiguration newActiveConfig;
+ if (activeIapId(iapId))
+ newActiveConfig = activeConfiguration(iapId);
if (!newActiveConfig.isValid()) {
// RConnection startup was successful but no configuration
// was found. That indicates that user has chosen to create a
@@ -1038,6 +1070,7 @@ void QNetworkSessionPrivateImpl::ConnectionStartComplete(TInt statusCode)
error = KErrGeneral;
} else {
QSymbianSocketManager::instance().setDefaultConnection(&iConnection);
+ updateCurrentIap(iapId);
}
if (error != KErrNone) {
isOpen = false;
diff --git a/src/plugins/bearer/symbian/qnetworksession_impl.h b/src/plugins/bearer/symbian/qnetworksession_impl.h
index 17a051e..9e02e5b 100644
--- a/src/plugins/bearer/symbian/qnetworksession_impl.h
+++ b/src/plugins/bearer/symbian/qnetworksession_impl.h
@@ -143,6 +143,8 @@ private:
void handleSymbianConnectionStatusChange(TInt aConnectionStatus, TInt aError, TUint accessPointId = 0);
QNetworkConfiguration bestConfigFromSNAP(const QNetworkConfiguration& snapConfig) const;
QNetworkConfiguration activeConfiguration(TUint32 iapId = 0) const;
+ bool activeIapId(TUint32 &iapId) const;
+ void updateCurrentIap(TUint32 iapId);
#ifndef QT_NO_NETWORKINTERFACE
QNetworkInterface interface(TUint iapId) const;
#endif
@@ -186,6 +188,7 @@ private: // data
TUint32 iOldRoamingIap;
TUint32 iNewRoamingIap;
+ TUint32 iCurrentIap;
bool isOpening;
diff --git a/src/plugins/imageformats/imageformats.pro b/src/plugins/imageformats/imageformats.pro
index 5fff2de..54a2795 100644
--- a/src/plugins/imageformats/imageformats.pro
+++ b/src/plugins/imageformats/imageformats.pro
@@ -6,3 +6,4 @@ TEMPLATE = subdirs
contains(QT_CONFIG, svg):SUBDIRS += svg
!contains(QT_CONFIG, no-tiff):!contains(QT_CONFIG, tiff):SUBDIRS += tiff
!contains(QT_CONFIG, no-ico):SUBDIRS += ico
+!contains(QT_CONFIG, no-tga):SUBDIRS += tga
diff --git a/src/plugins/imageformats/tga/main.cpp b/src/plugins/imageformats/tga/main.cpp
new file mode 100644
index 0000000..5650be2
--- /dev/null
+++ b/src/plugins/imageformats/tga/main.cpp
@@ -0,0 +1,95 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtQuick3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui/QImageIOHandler>
+#include <QtCore/QDebug>
+
+#ifndef QT_NO_IMAGEFORMATPLUGIN
+
+#ifdef QT_NO_IMAGEFORMAT_TGA
+#undef QT_NO_IMAGEFORMAT_TGA
+#endif
+
+#include "qtgahandler.h"
+
+QT_BEGIN_NAMESPACE
+
+class QTgaPlugin : public QImageIOPlugin
+{
+public:
+ Capabilities capabilities(QIODevice * device, const QByteArray & format) const;
+ QImageIOHandler * create(QIODevice * device, const QByteArray & format = QByteArray()) const;
+ QStringList keys() const;
+};
+
+QImageIOPlugin::Capabilities QTgaPlugin::capabilities(QIODevice *device, const QByteArray &format) const
+{
+ if (format == "tga")
+ return Capabilities(CanRead);
+ if (!format.isEmpty())
+ return 0;
+ if (!device->isOpen())
+ return 0;
+
+ Capabilities cap;
+ if (device->isReadable() && QTgaHandler::canRead(device))
+ cap |= CanRead;
+ return cap;
+}
+
+QImageIOHandler* QTgaPlugin::create(QIODevice *device, const QByteArray &format) const
+{
+ QImageIOHandler *tgaHandler = new QTgaHandler();
+ tgaHandler->setDevice(device);
+ tgaHandler->setFormat(format);
+ return tgaHandler;
+}
+
+QStringList QTgaPlugin::keys() const
+{
+ return QStringList() << QLatin1String("tga");
+}
+
+Q_EXPORT_PLUGIN2(qtga, QTgaPlugin)
+
+QT_END_NAMESPACE
+
+#endif /* QT_NO_IMAGEFORMATPLUGIN */
diff --git a/src/plugins/imageformats/tga/qtgafile.cpp b/src/plugins/imageformats/tga/qtgafile.cpp
new file mode 100644
index 0000000..885a63c
--- /dev/null
+++ b/src/plugins/imageformats/tga/qtgafile.cpp
@@ -0,0 +1,266 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtQuick3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qtgafile.h"
+
+#include <QtCore/QIODevice>
+#include <QtCore/QDebug>
+#include <QtCore/QDateTime>
+
+struct TgaReader
+{
+ virtual ~TgaReader() {}
+ virtual QRgb operator()(QIODevice *s) const = 0;
+};
+
+struct Tga16Reader : public TgaReader
+{
+ ~Tga16Reader() {}
+ QRgb operator()(QIODevice *s) const
+ {
+ char ch1, ch2;
+ if (s->getChar(&ch1) && s->getChar(&ch2)) {
+ quint16 d = (int(ch1) & 0xFF) | ((int(ch2) & 0xFF) << 8);
+ QRgb result = (d & 0x8000) ? 0xFF000000 : 0x00000000;
+ result |= (d & 0x7C00 << 6) | (d & 0x03E0 << 3) | (d & 0x001F);
+ return result;
+ } else {
+ return 0;
+ }
+ }
+};
+
+struct Tga24Reader : public TgaReader
+{
+ QRgb operator()(QIODevice *s) const
+ {
+ char r, g, b;
+ if (s->getChar(&b) && s->getChar(&g) && s->getChar(&r))
+ return qRgb(uchar(r), uchar(g), uchar(b));
+ else
+ return 0;
+ }
+};
+
+struct Tga32Reader : public TgaReader
+{
+ QRgb operator()(QIODevice *s) const
+ {
+ char r, g, b, a;
+ if (s->getChar(&b) && s->getChar(&g) && s->getChar(&r) && s->getChar(&a))
+ return qRgba(uchar(r), uchar(g), uchar(b), uchar(a));
+ else
+ return 0;
+ }
+};
+
+/*!
+ \class QTgaFile
+ \since 4.8
+ \internal
+
+ File data container for a TrueVision Graphics format file.
+
+ Format is as described here:
+ http://local.wasp.uwa.edu.au/~pbourke/dataformats/tga/
+ http://netghost.narod.ru/gff2/graphics/summary/tga.htm
+
+ Usage is:
+ \code
+ QTgaFile tga(myFile);
+ QImage tgaImage;
+ if (tga.isValid())
+ tgaImage = tga.readImage();
+ \endcode
+
+ The class is designed to handle sequential and non-sequential
+ sources, so during construction the mHeader is read. Then during
+ the readImage() call the rest of the data is read.
+
+ After passing myFile to the constructor, if the QIODevice *myFile
+ is read, or has seek() called, the results are undefined - so don't
+ do that.
+*/
+
+/*!
+ Construct a new QTgaFile object getting data from \a device.
+
+ The object does not take ownership of the \a device, but until the
+ object is destroyed do not do any non-const operations, eg seek or
+ read on the device.
+*/
+QTgaFile::QTgaFile(QIODevice *device)
+ : mDevice(device)
+{
+ ::memset(mHeader, 0, HeaderSize);
+ if (!mDevice->isReadable())
+ {
+ mErrorMessage = QObject::tr("Could not read image data");
+ return;
+ }
+ if (mDevice->isSequential())
+ {
+ mErrorMessage = QObject::tr("Sequential device (eg socket) for image read not supported");
+ return;
+ }
+ if (!mDevice->seek(0))
+ {
+ mErrorMessage = QObject::tr("Seek file/device for image read failed");
+ return;
+ }
+ int bytes = device->read((char*)mHeader, HeaderSize);
+ if (bytes != HeaderSize)
+ {
+ mErrorMessage = QObject::tr("Image mHeader read failed");
+ return;
+ }
+ if (mHeader[ImageType] != 2)
+ {
+ // TODO: should support other image types
+ mErrorMessage = QObject::tr("Image type not supported");
+ return;
+ }
+ int bitsPerPixel = mHeader[PixelDepth];
+ bool validDepth = (bitsPerPixel == 16 || bitsPerPixel == 24 || bitsPerPixel == 32);
+ if (!validDepth)
+ {
+ mErrorMessage = QObject::tr("Image dpeth not valid");
+ }
+ int curPos = mDevice->pos();
+ int fileBytes = mDevice->size();
+ if (!mDevice->seek(fileBytes - FooterSize))
+ {
+ mErrorMessage = QObject::tr("Could not seek to image read footer");
+ return;
+ }
+ char footer[FooterSize];
+ bytes = mDevice->read((char*)footer, FooterSize);
+ if (bytes != FooterSize)
+ {
+ mErrorMessage = QObject::tr("Could not read footer");
+ }
+ if (qstrncmp(&footer[SignatureOffset], "TRUEVISION-XFILE", 16) != 0)
+ {
+ mErrorMessage = QObject::tr("Image type (non-TrueVision 2.0) not supported");
+ }
+ if (!mDevice->seek(curPos))
+ {
+ mErrorMessage = QObject::tr("Could not reset to read data");
+ }
+}
+
+/*!
+ \internal
+ Destroy the device, recovering any resources.
+*/
+QTgaFile::~QTgaFile()
+{
+}
+
+/*!
+ \internal
+ Reads an image file from the QTgaFile's device, and returns it.
+
+ This method seeks to the absolute position of the image data in the file,
+ so no assumptions are made about where the devices read pointer is when this
+ method is called. For this reason only random access devices are supported.
+
+ If the constructor completed successfully, such that isValid() returns true,
+ then this method is likely to succeed, unless the file is somehow corrupted.
+
+ In the case that the read fails, the QImage returned will be null, such that
+ QImage::isNull() will be true.
+*/
+QImage QTgaFile::readImage()
+{
+ if (!isValid())
+ return QImage();
+
+ int offset = mHeader[IdLength]; // Mostly always zero
+
+ // Even in TrueColor files a color pallette may be present
+ if (mHeader[ColorMapType] == 1)
+ offset += littleEndianInt(&mHeader[CMapLength]) * littleEndianInt(&mHeader[CMapDepth]);
+
+ mDevice->seek(HeaderSize + offset);
+
+ char dummy;
+ for (int i = 0; i < offset; ++i)
+ mDevice->getChar(&dummy);
+
+ int bitsPerPixel = mHeader[PixelDepth];
+ int imageWidth = width();
+ int imageHeight = height();
+
+ unsigned char desc = mHeader[ImageDescriptor];
+ //unsigned char xCorner = desc & 0x10; // 0 = left, 1 = right
+ unsigned char yCorner = desc & 0x20; // 0 = lower, 1 = upper
+
+ QImage im(imageWidth, imageHeight, QImage::Format_ARGB32);
+ TgaReader *reader = 0;
+ if (bitsPerPixel == 16)
+ reader = new Tga16Reader();
+ else if (bitsPerPixel == 24)
+ reader = new Tga24Reader();
+ else if (bitsPerPixel == 32)
+ reader = new Tga32Reader();
+ TgaReader &read = *reader;
+
+ // For now only deal with yCorner, since no one uses xCorner == 1
+ // Also this is upside down, since Qt has the origin flipped
+ if (yCorner)
+ {
+ for (int y = 0; y < imageHeight; ++y)
+ for (int x = 0; x < imageWidth; ++x)
+ im.setPixel(x, y, read(mDevice));
+ }
+ else
+ {
+ for (int y = imageHeight - 1; y >= 0; --y)
+ for (int x = 0; x < imageWidth; ++x)
+ im.setPixel(x, y, read(mDevice));
+ }
+
+ delete reader;
+
+ // TODO: add processing of TGA extension information - ie TGA 2.0 files
+ return im;
+}
diff --git a/src/plugins/imageformats/tga/qtgafile.h b/src/plugins/imageformats/tga/qtgafile.h
new file mode 100644
index 0000000..264c18b
--- /dev/null
+++ b/src/plugins/imageformats/tga/qtgafile.h
@@ -0,0 +1,157 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtQuick3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QTGAFILE_H
+#define QTGAFILE_H
+
+#include <QtGui/QColor>
+#include <QtGui/QImage>
+
+QT_BEGIN_NAMESPACE
+
+class QIODevice;
+
+class QTgaFile
+{
+public:
+ enum Compression {
+ NoCompression = 0,
+ RleCompression = 1
+ };
+
+ enum HeaderOffset {
+ IdLength = 0, /* 00h Size of Image ID field */
+ ColorMapType = 1, /* 01h Color map type */
+ ImageType = 2, /* 02h Image type code */
+ CMapStart = 3, /* 03h Color map origin */
+ CMapLength = 5, /* 05h Color map length */
+ CMapDepth = 7, /* 07h Depth of color map entries */
+ XOffset = 8, /* 08h X origin of image */
+ YOffset = 10, /* 0Ah Y origin of image */
+ Width = 12, /* 0Ch Width of image */
+ Height = 14, /* 0Eh Height of image */
+ PixelDepth = 16, /* 10h Image pixel size */
+ ImageDescriptor = 17, /* 11h Image descriptor byte */
+ HeaderSize = 18
+ };
+
+ enum FooterOffset {
+ ExtensionOffset = 0,
+ DeveloperOffset = 4,
+ SignatureOffset = 8,
+ FooterSize = 26
+ };
+
+ QTgaFile(QIODevice *);
+ ~QTgaFile();
+
+ inline bool isValid() const;
+ inline QString errorMessage() const;
+ QImage readImage();
+ inline int xOffset() const;
+ inline int yOffset() const;
+ inline int width() const;
+ inline int height() const;
+ inline QSize size() const;
+ inline Compression compression() const;
+
+private:
+ static inline quint16 littleEndianInt(const unsigned char *d);
+
+ QString mErrorMessage;
+ unsigned char mHeader[HeaderSize];
+ QIODevice *mDevice;
+};
+
+inline bool QTgaFile::isValid() const
+{
+ return mErrorMessage.isEmpty();
+}
+
+inline QString QTgaFile::errorMessage() const
+{
+ return mErrorMessage;
+}
+
+/*!
+ \internal
+ Returns the integer encoded in the two little endian bytes at \a d.
+*/
+inline quint16 QTgaFile::littleEndianInt(const unsigned char *d)
+{
+ return d[0] + d[1] * 256;
+}
+
+inline int QTgaFile::xOffset() const
+{
+ return littleEndianInt(&mHeader[XOffset]);
+}
+
+inline int QTgaFile::yOffset() const
+{
+ return littleEndianInt(&mHeader[YOffset]);
+}
+
+inline int QTgaFile::width() const
+{
+ return littleEndianInt(&mHeader[Width]);
+}
+
+inline int QTgaFile::height() const
+{
+ return littleEndianInt(&mHeader[Height]);
+}
+
+inline QSize QTgaFile::size() const
+{
+ return QSize(width(), height());
+}
+
+inline QTgaFile::Compression QTgaFile::compression() const
+{
+ // TODO: for now, only handle type 2 files, with no color table
+ // and no compression
+ return NoCompression;
+}
+
+QT_END_NAMESPACE
+
+#endif // QTGAFILE_H
diff --git a/src/plugins/imageformats/tga/qtgahandler.cpp b/src/plugins/imageformats/tga/qtgahandler.cpp
new file mode 100644
index 0000000..ddea4f2
--- /dev/null
+++ b/src/plugins/imageformats/tga/qtgahandler.cpp
@@ -0,0 +1,122 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtQuick3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qtgahandler.h"
+#include "qtgafile.h"
+
+#include <QtCore/QVariant>
+#include <QtCore/QDebug>
+#include <QtGui/QImage>
+
+QT_BEGIN_NAMESPACE
+
+QTgaHandler::QTgaHandler()
+ : QImageIOHandler()
+ , tga(0)
+{
+}
+
+QTgaHandler::~QTgaHandler()
+{
+ delete tga;
+}
+
+bool QTgaHandler::canRead() const
+{
+ if (!tga)
+ tga = new QTgaFile(device());
+ if (tga->isValid())
+ {
+ setFormat("tga");
+ return true;
+ }
+ return false;
+}
+
+bool QTgaHandler::canRead(QIODevice *device)
+{
+ if (!device) {
+ qWarning("QTgaHandler::canRead() called with no device");
+ return false;
+ }
+ QTgaFile tga(device);
+ return tga.isValid();
+}
+
+bool QTgaHandler::read(QImage *image)
+{
+ if (!canRead())
+ return false;
+ *image = tga->readImage();
+ return !image->isNull();
+}
+
+QByteArray QTgaHandler::name() const
+{
+ return "tga";
+}
+
+QVariant QTgaHandler::option(ImageOption option) const
+{
+ if (option == Size && canRead()) {
+ return tga->size();
+ } else if (option == CompressionRatio) {
+ return tga->compression();
+ } else if (option == ImageFormat) {
+ return QImage::Format_ARGB32;
+ }
+ return QVariant();
+}
+
+void QTgaHandler::setOption(ImageOption option, const QVariant &value)
+{
+ Q_UNUSED(option);
+ Q_UNUSED(value);
+}
+
+bool QTgaHandler::supportsOption(ImageOption option) const
+{
+ return option == CompressionRatio
+ || option == Size
+ || option == ImageFormat;
+}
+
+QT_END_NAMESPACE
diff --git a/src/plugins/imageformats/tga/qtgahandler.h b/src/plugins/imageformats/tga/qtgahandler.h
new file mode 100644
index 0000000..f0eb2b0
--- /dev/null
+++ b/src/plugins/imageformats/tga/qtgahandler.h
@@ -0,0 +1,74 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtQuick3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QTGAHANDLER_H
+#define QTGAHANDLER_H
+
+#include <QtGui/QImageIOHandler>
+
+QT_BEGIN_NAMESPACE
+
+class QTgaFile;
+
+class QTgaHandler : public QImageIOHandler
+{
+public:
+ QTgaHandler();
+ ~QTgaHandler();
+
+ bool canRead() const;
+ bool read(QImage *image);
+
+ QByteArray name() const;
+
+ static bool canRead(QIODevice *device);
+
+ QVariant option(ImageOption option) const;
+ void setOption(ImageOption option, const QVariant &value);
+ bool supportsOption(ImageOption option) const;
+
+private:
+ mutable QTgaFile *tga;
+};
+
+QT_END_NAMESPACE
+
+#endif // QTGAHANDLER_H
diff --git a/src/plugins/imageformats/tga/tga.pro b/src/plugins/imageformats/tga/tga.pro
new file mode 100644
index 0000000..292d06e
--- /dev/null
+++ b/src/plugins/imageformats/tga/tga.pro
@@ -0,0 +1,16 @@
+TARGET = qtga
+include(../../qpluginbase.pri)
+
+QTDIR_build:REQUIRES = "!contains(QT_CONFIG, no-tga)"
+
+HEADERS += qtgahandler.h \
+ qtgafile.h
+SOURCES += main.cpp \
+ qtgahandler.cpp \
+ qtgafile.cpp
+
+QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/imageformats
+target.path += $$[QT_INSTALL_PLUGINS]/imageformats
+INSTALLS += target
+
+symbian: TARGET.UID3=0x20031E99
diff --git a/src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp b/src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp
index 258d586..25abe17 100644
--- a/src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp
+++ b/src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp
@@ -46,7 +46,7 @@
** Copyright (C) 2004 immodule for Qt Project. All rights reserved.
**
** This file is written to contribute to Nokia Corporation and/or its subsidiary(-ies) under their own
-** licence. You may use this file under your Qt license. Following
+** license. You may use this file under your Qt license. Following
** description is copied from their original file headers. Contact
** immodule-qt@freedesktop.org if any conditions of this licensing are
** not clear to you.
diff --git a/src/plugins/inputmethods/imsw-multi/qmultiinputcontext.h b/src/plugins/inputmethods/imsw-multi/qmultiinputcontext.h
index 5d311b3..cc1b1f0 100644
--- a/src/plugins/inputmethods/imsw-multi/qmultiinputcontext.h
+++ b/src/plugins/inputmethods/imsw-multi/qmultiinputcontext.h
@@ -46,7 +46,7 @@
** Copyright (C) 2004 immodule for Qt Project. All rights reserved.
**
** This file is written to contribute to Nokia Corporation and/or its subsidiary(-ies) under their own
-** licence. You may use this file under your Qt license. Following
+** license. You may use this file under your Qt license. Following
** description is copied from their original file headers. Contact
** immodule-qt@freedesktop.org if any conditions of this licensing are
** not clear to you.
diff --git a/src/plugins/platforms/openkode/qopenkodewindow.cpp b/src/plugins/platforms/openkode/qopenkodewindow.cpp
index c6fe6d0..dedd2d5 100644
--- a/src/plugins/platforms/openkode/qopenkodewindow.cpp
+++ b/src/plugins/platforms/openkode/qopenkodewindow.cpp
@@ -283,7 +283,7 @@ void QOpenKODEWindow::processKeyEvents(const KDEvent *event)
QEvent::Type keyPressed = QEvent::KeyRelease;
if (event->data.keyboardInputKey.flags)
keyPressed = QEvent::KeyPress;
-//KD_KEY_LOCATION_LEFT_ATX // dont care for now
+//KD_KEY_LOCATION_LEFT_ATX // don't care for now
//KD_KEY_LOCATION_RIGHT_ATX
//KD_KEY_LOCATION_NUMPAD_ATX
Qt::KeyboardModifiers mod = Qt::NoModifier;
diff --git a/src/plugins/platforms/uikit/examples/flickrdemo/flickrdemo.xcodeproj/project.pbxproj b/src/plugins/platforms/uikit/examples/flickrdemo/flickrdemo.xcodeproj/project.pbxproj
index dedc462..dedc462 100755..100644
--- a/src/plugins/platforms/uikit/examples/flickrdemo/flickrdemo.xcodeproj/project.pbxproj
+++ b/src/plugins/platforms/uikit/examples/flickrdemo/flickrdemo.xcodeproj/project.pbxproj
diff --git a/src/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj b/src/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj
index 021eed2..021eed2 100755..100644
--- a/src/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj
+++ b/src/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj
diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp
index 80a1624..4f3021e 100644
--- a/src/plugins/platforms/xcb/qxcbconnection.cpp
+++ b/src/plugins/platforms/xcb/qxcbconnection.cpp
@@ -59,7 +59,7 @@
#include <X11/Xlib-xcb.h>
#endif
-#ifdef XCB_USE_EGL //dont pull in eglext prototypes
+#ifdef XCB_USE_EGL //don't pull in eglext prototypes
#include <EGL/egl.h>
#endif
diff --git a/src/s60installs/bwins/QtCoreu.def b/src/s60installs/bwins/QtCoreu.def
index 9181dd7..cfd2cec 100644
--- a/src/s60installs/bwins/QtCoreu.def
+++ b/src/s60installs/bwins/QtCoreu.def
@@ -4885,4 +4885,8 @@ EXPORTS
?updateDir@QFactoryLoader@@QAEXABVQString@@AAVQSettings@@@Z @ 4884 NONAME ; void QFactoryLoader::updateDir(class QString const &, class QSettings &)
?disconnectNotify@QFutureWatcherBase@@MAEXPBD@Z @ 4885 NONAME ; void QFutureWatcherBase::disconnectNotify(char const *)
?maybeQueueForLater@QActiveObject@@QAE_NXZ @ 4886 NONAME ; bool QActiveObject::maybeQueueForLater(void)
+ ?activeConnections@QSymbianSocketManager@@QBE?AV?$QList@K@@XZ @ 4887 NONAME ; class QList<unsigned long> QSymbianSocketManager::activeConnections(void) const
+ ?removeActiveConnection@QSymbianSocketManager@@QAEXK@Z @ 4888 NONAME ; void QSymbianSocketManager::removeActiveConnection(unsigned long)
+ ?addActiveConnection@QSymbianSocketManager@@QAEXK@Z @ 4889 NONAME ; void QSymbianSocketManager::addActiveConnection(unsigned long)
+ ?activeObjectError@QEventDispatcherSymbian@@QAEXH@Z @ 4890 NONAME ; void QEventDispatcherSymbian::activeObjectError(int)
diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def
index cf6b0da..4e0d7df 100644
--- a/src/s60installs/bwins/QtGuiu.def
+++ b/src/s60installs/bwins/QtGuiu.def
@@ -13118,233 +13118,233 @@ EXPORTS
?aboutToReleaseGpuResources@QApplication@@IAEXXZ @ 13117 NONAME ; void QApplication::aboutToReleaseGpuResources(void)
?emitAboutToUseGpuResources@QApplicationPrivate@@QAEXXZ @ 13118 NONAME ; void QApplicationPrivate::emitAboutToUseGpuResources(void)
?emitAboutToReleaseGpuResources@QApplicationPrivate@@QAEXXZ @ 13119 NONAME ; void QApplicationPrivate::emitAboutToReleaseGpuResources(void)
- png_access_version_number @ 13120 NONAME
- png_benign_error @ 13121 NONAME
- png_build_grayscale_palette @ 13122 NONAME
- png_calloc @ 13123 NONAME
- png_chunk_benign_error @ 13124 NONAME
- png_chunk_error @ 13125 NONAME
- png_chunk_warning @ 13126 NONAME
- png_convert_from_struct_tm @ 13127 NONAME
- png_convert_from_time_t @ 13128 NONAME
- png_convert_to_rfc1123 @ 13129 NONAME
- png_create_info_struct @ 13130 NONAME
- png_create_read_struct @ 13131 NONAME
- png_create_read_struct_2 @ 13132 NONAME
- png_create_write_struct @ 13133 NONAME
- png_create_write_struct_2 @ 13134 NONAME
- png_data_freer @ 13135 NONAME
- png_destroy_info_struct @ 13136 NONAME
- png_destroy_read_struct @ 13137 NONAME
- png_destroy_write_struct @ 13138 NONAME
- png_error @ 13139 NONAME
- png_free @ 13140 NONAME
- png_free_data @ 13141 NONAME
- png_free_default @ 13142 NONAME
- png_get_IHDR @ 13143 NONAME
- png_get_PLTE @ 13144 NONAME
- png_get_bKGD @ 13145 NONAME
- png_get_bit_depth @ 13146 NONAME
- png_get_cHRM @ 13147 NONAME
- png_get_cHRM_fixed @ 13148 NONAME
- png_get_channels @ 13149 NONAME
- png_get_chunk_cache_max @ 13150 NONAME
- png_get_chunk_malloc_max @ 13151 NONAME
- png_get_color_type @ 13152 NONAME
- png_get_compression_buffer_size @ 13153 NONAME
- png_get_compression_type @ 13154 NONAME
- png_get_copyright @ 13155 NONAME
- png_get_current_pass_number @ 13156 NONAME
- png_get_current_row_number @ 13157 NONAME
- png_get_error_ptr @ 13158 NONAME
- png_get_filter_type @ 13159 NONAME
- png_get_gAMA @ 13160 NONAME
- png_get_gAMA_fixed @ 13161 NONAME
- png_get_hIST @ 13162 NONAME
- png_get_header_ver @ 13163 NONAME
- png_get_header_version @ 13164 NONAME
- png_get_iCCP @ 13165 NONAME
- png_get_image_height @ 13166 NONAME
- png_get_image_width @ 13167 NONAME
- png_get_int_32 @ 13168 NONAME
- png_get_interlace_type @ 13169 NONAME
- png_get_io_chunk_name @ 13170 NONAME
- png_get_io_chunk_type @ 13171 NONAME
- png_get_io_ptr @ 13172 NONAME
- png_get_io_state @ 13173 NONAME
- png_get_libpng_ver @ 13174 NONAME
- png_get_mem_ptr @ 13175 NONAME
- png_get_oFFs @ 13176 NONAME
- png_get_pCAL @ 13177 NONAME
- png_get_pHYs @ 13178 NONAME
- png_get_pHYs_dpi @ 13179 NONAME
- png_get_pixel_aspect_ratio @ 13180 NONAME
- png_get_pixel_aspect_ratio_fixed @ 13181 NONAME
- png_get_pixels_per_inch @ 13182 NONAME
- png_get_pixels_per_meter @ 13183 NONAME
- png_get_progressive_ptr @ 13184 NONAME
- png_get_rgb_to_gray_status @ 13185 NONAME
- png_get_rowbytes @ 13186 NONAME
- png_get_rows @ 13187 NONAME
- png_get_sBIT @ 13188 NONAME
- png_get_sCAL @ 13189 NONAME
- png_get_sCAL_fixed @ 13190 NONAME
- png_get_sCAL_s @ 13191 NONAME
- png_get_sPLT @ 13192 NONAME
- png_get_sRGB @ 13193 NONAME
- png_get_signature @ 13194 NONAME
- png_get_tIME @ 13195 NONAME
- png_get_tRNS @ 13196 NONAME
- png_get_text @ 13197 NONAME
- png_get_uint_16 @ 13198 NONAME
- png_get_uint_31 @ 13199 NONAME
- png_get_uint_32 @ 13200 NONAME
- png_get_unknown_chunks @ 13201 NONAME
- png_get_user_chunk_ptr @ 13202 NONAME
- png_get_user_height_max @ 13203 NONAME
- png_get_user_transform_ptr @ 13204 NONAME
- png_get_user_width_max @ 13205 NONAME
- png_get_valid @ 13206 NONAME
- png_get_x_offset_inches @ 13207 NONAME
- png_get_x_offset_inches_fixed @ 13208 NONAME
- png_get_x_offset_microns @ 13209 NONAME
- png_get_x_offset_pixels @ 13210 NONAME
- png_get_x_pixels_per_inch @ 13211 NONAME
- png_get_x_pixels_per_meter @ 13212 NONAME
- png_get_y_offset_inches @ 13213 NONAME
- png_get_y_offset_inches_fixed @ 13214 NONAME
- png_get_y_offset_microns @ 13215 NONAME
- png_get_y_offset_pixels @ 13216 NONAME
- png_get_y_pixels_per_inch @ 13217 NONAME
- png_get_y_pixels_per_meter @ 13218 NONAME
- png_handle_as_unknown @ 13219 NONAME
- png_info_init_3 @ 13220 NONAME
- png_init_io @ 13221 NONAME
- png_longjmp @ 13222 NONAME
- png_malloc @ 13223 NONAME
- png_malloc_default @ 13224 NONAME
- png_malloc_warn @ 13225 NONAME
- png_permit_mng_features @ 13226 NONAME
- png_process_data @ 13227 NONAME
- png_process_data_pause @ 13228 NONAME
- png_process_data_skip @ 13229 NONAME
- png_progressive_combine_row @ 13230 NONAME
- png_read_end @ 13231 NONAME
- png_read_image @ 13232 NONAME
- png_read_info @ 13233 NONAME
- png_read_png @ 13234 NONAME
- png_read_row @ 13235 NONAME
- png_read_rows @ 13236 NONAME
- png_read_update_info @ 13237 NONAME
- png_reset_zstream @ 13238 NONAME
- png_save_int_32 @ 13239 NONAME
- png_save_uint_16 @ 13240 NONAME
- png_save_uint_32 @ 13241 NONAME
- png_set_IHDR @ 13242 NONAME
- png_set_PLTE @ 13243 NONAME
- png_set_add_alpha @ 13244 NONAME
- png_set_alpha_mode @ 13245 NONAME
- png_set_alpha_mode_fixed @ 13246 NONAME
- png_set_bKGD @ 13247 NONAME
- png_set_background @ 13248 NONAME
- png_set_background_fixed @ 13249 NONAME
- png_set_benign_errors @ 13250 NONAME
- png_set_bgr @ 13251 NONAME
- png_set_cHRM @ 13252 NONAME
- png_set_cHRM_fixed @ 13253 NONAME
- png_set_chunk_cache_max @ 13254 NONAME
- png_set_chunk_malloc_max @ 13255 NONAME
- png_set_compression_buffer_size @ 13256 NONAME
- png_set_compression_level @ 13257 NONAME
- png_set_compression_mem_level @ 13258 NONAME
- png_set_compression_method @ 13259 NONAME
- png_set_compression_strategy @ 13260 NONAME
- png_set_compression_window_bits @ 13261 NONAME
- png_set_crc_action @ 13262 NONAME
- png_set_error_fn @ 13263 NONAME
- png_set_expand @ 13264 NONAME
- png_set_expand_16 @ 13265 NONAME
- png_set_expand_gray_1_2_4_to_8 @ 13266 NONAME
- png_set_filler @ 13267 NONAME
- png_set_filter @ 13268 NONAME
- png_set_filter_heuristics @ 13269 NONAME
- png_set_filter_heuristics_fixed @ 13270 NONAME
- png_set_flush @ 13271 NONAME
- png_set_gAMA @ 13272 NONAME
- png_set_gAMA_fixed @ 13273 NONAME
- png_set_gamma @ 13274 NONAME
- png_set_gamma_fixed @ 13275 NONAME
- png_set_gray_to_rgb @ 13276 NONAME
- png_set_hIST @ 13277 NONAME
- png_set_iCCP @ 13278 NONAME
- png_set_interlace_handling @ 13279 NONAME
- png_set_invalid @ 13280 NONAME
- png_set_invert_alpha @ 13281 NONAME
- png_set_invert_mono @ 13282 NONAME
- png_set_keep_unknown_chunks @ 13283 NONAME
- png_set_longjmp_fn @ 13284 NONAME
- png_set_mem_fn @ 13285 NONAME
- png_set_oFFs @ 13286 NONAME
- png_set_pCAL @ 13287 NONAME
- png_set_pHYs @ 13288 NONAME
- png_set_packing @ 13289 NONAME
- png_set_packswap @ 13290 NONAME
- png_set_palette_to_rgb @ 13291 NONAME
- png_set_progressive_read_fn @ 13292 NONAME
- png_set_quantize @ 13293 NONAME
- png_set_read_fn @ 13294 NONAME
- png_set_read_status_fn @ 13295 NONAME
- png_set_read_user_chunk_fn @ 13296 NONAME
- png_set_read_user_transform_fn @ 13297 NONAME
- png_set_rgb_to_gray @ 13298 NONAME
- png_set_rgb_to_gray_fixed @ 13299 NONAME
- png_set_rows @ 13300 NONAME
- png_set_sBIT @ 13301 NONAME
- png_set_sCAL @ 13302 NONAME
- png_set_sCAL_fixed @ 13303 NONAME
- png_set_sCAL_s @ 13304 NONAME
- png_set_sPLT @ 13305 NONAME
- png_set_sRGB @ 13306 NONAME
- png_set_sRGB_gAMA_and_cHRM @ 13307 NONAME
- png_set_scale_16 @ 13308 NONAME
- png_set_shift @ 13309 NONAME
- png_set_sig_bytes @ 13310 NONAME
- png_set_strip_16 @ 13311 NONAME
- png_set_strip_alpha @ 13312 NONAME
- png_set_swap @ 13313 NONAME
- png_set_swap_alpha @ 13314 NONAME
- png_set_tIME @ 13315 NONAME
- png_set_tRNS @ 13316 NONAME
- png_set_tRNS_to_alpha @ 13317 NONAME
- png_set_text @ 13318 NONAME
- png_set_text_compression_level @ 13319 NONAME
- png_set_text_compression_mem_level @ 13320 NONAME
- png_set_text_compression_method @ 13321 NONAME
- png_set_text_compression_strategy @ 13322 NONAME
- png_set_text_compression_window_bits @ 13323 NONAME
- png_set_unknown_chunk_location @ 13324 NONAME
- png_set_unknown_chunks @ 13325 NONAME
- png_set_user_limits @ 13326 NONAME
- png_set_user_transform_info @ 13327 NONAME
- png_set_write_fn @ 13328 NONAME
- png_set_write_status_fn @ 13329 NONAME
- png_set_write_user_transform_fn @ 13330 NONAME
- png_sig_cmp @ 13331 NONAME
- png_start_read_image @ 13332 NONAME
- png_warning @ 13333 NONAME
- png_write_chunk @ 13334 NONAME
- png_write_chunk_data @ 13335 NONAME
- png_write_chunk_end @ 13336 NONAME
- png_write_chunk_start @ 13337 NONAME
- png_write_end @ 13338 NONAME
- png_write_flush @ 13339 NONAME
- png_write_image @ 13340 NONAME
- png_write_info @ 13341 NONAME
- png_write_info_before_PLTE @ 13342 NONAME
- png_write_png @ 13343 NONAME
- png_write_row @ 13344 NONAME
- png_write_rows @ 13345 NONAME
- png_write_sig @ 13346 NONAME
+ ?png_access_version_number@PrivatePng@@YAIXZ @ 13120 NONAME ; unsigned int PrivatePng::png_access_version_number(void)
+ ?png_benign_error@PrivatePng@@YAXPAUpng_struct_def@1@PBD@Z @ 13121 NONAME ; void PrivatePng::png_benign_error(struct PrivatePng::png_struct_def *, char const *)
+ ?png_build_grayscale_palette@PrivatePng@@YAXHPAUpng_color_struct@1@@Z @ 13122 NONAME ; void PrivatePng::png_build_grayscale_palette(int, struct PrivatePng::png_color_struct *)
+ ?png_calloc@PrivatePng@@YAPAXPAUpng_struct_def@1@I@Z @ 13123 NONAME ; void * PrivatePng::png_calloc(struct PrivatePng::png_struct_def *, unsigned int)
+ ?png_chunk_benign_error@PrivatePng@@YAXPAUpng_struct_def@1@PBD@Z @ 13124 NONAME ; void PrivatePng::png_chunk_benign_error(struct PrivatePng::png_struct_def *, char const *)
+ ?png_chunk_error@PrivatePng@@YAXPAUpng_struct_def@1@PBD@Z @ 13125 NONAME ; void PrivatePng::png_chunk_error(struct PrivatePng::png_struct_def *, char const *)
+ ?png_chunk_warning@PrivatePng@@YAXPAUpng_struct_def@1@PBD@Z @ 13126 NONAME ; void PrivatePng::png_chunk_warning(struct PrivatePng::png_struct_def *, char const *)
+ ?png_convert_from_struct_tm@PrivatePng@@YAXPAUpng_time_struct@1@PBUtm@@@Z @ 13127 NONAME ; void PrivatePng::png_convert_from_struct_tm(struct PrivatePng::png_time_struct *, struct tm const *)
+ ?png_convert_from_time_t@PrivatePng@@YAXPAUpng_time_struct@1@H@Z @ 13128 NONAME ; void PrivatePng::png_convert_from_time_t(struct PrivatePng::png_time_struct *, int)
+ ?png_convert_to_rfc1123@PrivatePng@@YAPBDPAUpng_struct_def@1@PBUpng_time_struct@1@@Z @ 13129 NONAME ; char const * PrivatePng::png_convert_to_rfc1123(struct PrivatePng::png_struct_def *, struct PrivatePng::png_time_struct const *)
+ ?png_create_info_struct@PrivatePng@@YAPAUpng_info_def@1@PAUpng_struct_def@1@@Z @ 13130 NONAME ; struct PrivatePng::png_info_def * PrivatePng::png_create_info_struct(struct PrivatePng::png_struct_def *)
+ ?png_create_read_struct@PrivatePng@@YAPAUpng_struct_def@1@PBDPAXP6AXPAU21@0@ZP6AX20@Z@Z @ 13131 NONAME ; struct PrivatePng::png_struct_def * PrivatePng::png_create_read_struct(char const *, void *, void (*)(struct PrivatePng::png_struct_def *, char const *), void (*)(struct PrivatePng::png_struct_def *, char const *))
+ ?png_create_read_struct_2@PrivatePng@@YAPAUpng_struct_def@1@PBDPAXP6AXPAU21@0@ZP6AX20@Z1P6APAX2I@ZP6AX21@Z@Z @ 13132 NONAME ; struct PrivatePng::png_struct_def * PrivatePng::png_create_read_struct_2(char const *, void *, void (*)(struct PrivatePng::png_struct_def *, char const *), void (*)(struct PrivatePng::png_struct_def *, char const *), void *, void * (*)(struct PrivatePng::png_struct_def *, unsigned int), void (*)(struct PrivatePng::png_struct_def *, void *))
+ ?png_create_write_struct@PrivatePng@@YAPAUpng_struct_def@1@PBDPAXP6AXPAU21@0@ZP6AX20@Z@Z @ 13133 NONAME ; struct PrivatePng::png_struct_def * PrivatePng::png_create_write_struct(char const *, void *, void (*)(struct PrivatePng::png_struct_def *, char const *), void (*)(struct PrivatePng::png_struct_def *, char const *))
+ ?png_create_write_struct_2@PrivatePng@@YAPAUpng_struct_def@1@PBDPAXP6AXPAU21@0@ZP6AX20@Z1P6APAX2I@ZP6AX21@Z@Z @ 13134 NONAME ; struct PrivatePng::png_struct_def * PrivatePng::png_create_write_struct_2(char const *, void *, void (*)(struct PrivatePng::png_struct_def *, char const *), void (*)(struct PrivatePng::png_struct_def *, char const *), void *, void * (*)(struct PrivatePng::png_struct_def *, unsigned int), void (*)(struct PrivatePng::png_struct_def *, void *))
+ ?png_data_freer@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@HI@Z @ 13135 NONAME ; void PrivatePng::png_data_freer(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, int, unsigned int)
+ ?png_destroy_info_struct@PrivatePng@@YAXPAUpng_struct_def@1@PAPAUpng_info_def@1@@Z @ 13136 NONAME ; void PrivatePng::png_destroy_info_struct(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def * *)
+ ?png_destroy_read_struct@PrivatePng@@YAXPAPAUpng_struct_def@1@PAPAUpng_info_def@1@1@Z @ 13137 NONAME ; void PrivatePng::png_destroy_read_struct(struct PrivatePng::png_struct_def * *, struct PrivatePng::png_info_def * *, struct PrivatePng::png_info_def * *)
+ ?png_destroy_write_struct@PrivatePng@@YAXPAPAUpng_struct_def@1@PAPAUpng_info_def@1@@Z @ 13138 NONAME ; void PrivatePng::png_destroy_write_struct(struct PrivatePng::png_struct_def * *, struct PrivatePng::png_info_def * *)
+ ?png_error@PrivatePng@@YAXPAUpng_struct_def@1@PBD@Z @ 13139 NONAME ; void PrivatePng::png_error(struct PrivatePng::png_struct_def *, char const *)
+ ?png_free@PrivatePng@@YAXPAUpng_struct_def@1@PAX@Z @ 13140 NONAME ; void PrivatePng::png_free(struct PrivatePng::png_struct_def *, void *)
+ ?png_free_data@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@IH@Z @ 13141 NONAME ; void PrivatePng::png_free_data(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, unsigned int, int)
+ ?png_free_default@PrivatePng@@YAXPAUpng_struct_def@1@PAX@Z @ 13142 NONAME ; void PrivatePng::png_free_default(struct PrivatePng::png_struct_def *, void *)
+ ?png_get_IHDR@PrivatePng@@YAIPAUpng_struct_def@1@PAUpng_info_def@1@PAI2PAH3333@Z @ 13143 NONAME ; unsigned int PrivatePng::png_get_IHDR(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, unsigned int *, unsigned int *, int *, int *, int *, int *, int *)
+ ?png_get_PLTE@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@PAPAUpng_color_struct@1@PAH@Z @ 13144 NONAME ; unsigned int PrivatePng::png_get_PLTE(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, struct PrivatePng::png_color_struct * *, int *)
+ ?png_get_bKGD@PrivatePng@@YAIPBUpng_struct_def@1@PAUpng_info_def@1@PAPAUpng_color_16_struct@1@@Z @ 13145 NONAME ; unsigned int PrivatePng::png_get_bKGD(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def *, struct PrivatePng::png_color_16_struct * *)
+ ?png_get_bit_depth@PrivatePng@@YAEPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13146 NONAME ; unsigned char PrivatePng::png_get_bit_depth(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_cHRM@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@PAN2222222@Z @ 13147 NONAME ; unsigned int PrivatePng::png_get_cHRM(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, double *, double *, double *, double *, double *, double *, double *, double *)
+ ?png_get_cHRM_fixed@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@PAH2222222@Z @ 13148 NONAME ; unsigned int PrivatePng::png_get_cHRM_fixed(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, int *, int *, int *, int *, int *, int *, int *, int *)
+ ?png_get_channels@PrivatePng@@YAEPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13149 NONAME ; unsigned char PrivatePng::png_get_channels(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_chunk_cache_max@PrivatePng@@YAIPBUpng_struct_def@1@@Z @ 13150 NONAME ; unsigned int PrivatePng::png_get_chunk_cache_max(struct PrivatePng::png_struct_def const *)
+ ?png_get_chunk_malloc_max@PrivatePng@@YAIPBUpng_struct_def@1@@Z @ 13151 NONAME ; unsigned int PrivatePng::png_get_chunk_malloc_max(struct PrivatePng::png_struct_def const *)
+ ?png_get_color_type@PrivatePng@@YAEPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13152 NONAME ; unsigned char PrivatePng::png_get_color_type(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_compression_buffer_size@PrivatePng@@YAIPBUpng_struct_def@1@@Z @ 13153 NONAME ; unsigned int PrivatePng::png_get_compression_buffer_size(struct PrivatePng::png_struct_def const *)
+ ?png_get_compression_type@PrivatePng@@YAEPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13154 NONAME ; unsigned char PrivatePng::png_get_compression_type(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_copyright@PrivatePng@@YAPBDPBUpng_struct_def@1@@Z @ 13155 NONAME ; char const * PrivatePng::png_get_copyright(struct PrivatePng::png_struct_def const *)
+ ?png_get_current_pass_number@PrivatePng@@YAEPBUpng_struct_def@1@@Z @ 13156 NONAME ; unsigned char PrivatePng::png_get_current_pass_number(struct PrivatePng::png_struct_def const *)
+ ?png_get_current_row_number@PrivatePng@@YAIPBUpng_struct_def@1@@Z @ 13157 NONAME ; unsigned int PrivatePng::png_get_current_row_number(struct PrivatePng::png_struct_def const *)
+ ?png_get_error_ptr@PrivatePng@@YAPAXPBUpng_struct_def@1@@Z @ 13158 NONAME ; void * PrivatePng::png_get_error_ptr(struct PrivatePng::png_struct_def const *)
+ ?png_get_filter_type@PrivatePng@@YAEPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13159 NONAME ; unsigned char PrivatePng::png_get_filter_type(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_gAMA@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@PAN@Z @ 13160 NONAME ; unsigned int PrivatePng::png_get_gAMA(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, double *)
+ ?png_get_gAMA_fixed@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@PAH@Z @ 13161 NONAME ; unsigned int PrivatePng::png_get_gAMA_fixed(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, int *)
+ ?png_get_hIST@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@PAPAG@Z @ 13162 NONAME ; unsigned int PrivatePng::png_get_hIST(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, unsigned short * *)
+ ?png_get_header_ver@PrivatePng@@YAPBDPBUpng_struct_def@1@@Z @ 13163 NONAME ; char const * PrivatePng::png_get_header_ver(struct PrivatePng::png_struct_def const *)
+ ?png_get_header_version@PrivatePng@@YAPBDPBUpng_struct_def@1@@Z @ 13164 NONAME ; char const * PrivatePng::png_get_header_version(struct PrivatePng::png_struct_def const *)
+ ?png_get_iCCP@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@PAPADPAHPAPAEPAI@Z @ 13165 NONAME ; unsigned int PrivatePng::png_get_iCCP(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, char * *, int *, unsigned char * *, unsigned int *)
+ ?png_get_image_height@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13166 NONAME ; unsigned int PrivatePng::png_get_image_height(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_image_width@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13167 NONAME ; unsigned int PrivatePng::png_get_image_width(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_int_32@PrivatePng@@YAHPBE@Z @ 13168 NONAME ; int PrivatePng::png_get_int_32(unsigned char const *)
+ ?png_get_interlace_type@PrivatePng@@YAEPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13169 NONAME ; unsigned char PrivatePng::png_get_interlace_type(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_io_chunk_name@PrivatePng@@YAPBEPAUpng_struct_def@1@@Z @ 13170 NONAME ; unsigned char const * PrivatePng::png_get_io_chunk_name(struct PrivatePng::png_struct_def *)
+ ?png_get_io_chunk_type@PrivatePng@@YAIPBUpng_struct_def@1@@Z @ 13171 NONAME ; unsigned int PrivatePng::png_get_io_chunk_type(struct PrivatePng::png_struct_def const *)
+ ?png_get_io_ptr@PrivatePng@@YAPAXPAUpng_struct_def@1@@Z @ 13172 NONAME ; void * PrivatePng::png_get_io_ptr(struct PrivatePng::png_struct_def *)
+ ?png_get_io_state@PrivatePng@@YAIPAUpng_struct_def@1@@Z @ 13173 NONAME ; unsigned int PrivatePng::png_get_io_state(struct PrivatePng::png_struct_def *)
+ ?png_get_libpng_ver@PrivatePng@@YAPBDPBUpng_struct_def@1@@Z @ 13174 NONAME ; char const * PrivatePng::png_get_libpng_ver(struct PrivatePng::png_struct_def const *)
+ ?png_get_mem_ptr@PrivatePng@@YAPAXPBUpng_struct_def@1@@Z @ 13175 NONAME ; void * PrivatePng::png_get_mem_ptr(struct PrivatePng::png_struct_def const *)
+ ?png_get_oFFs@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@PAH22@Z @ 13176 NONAME ; unsigned int PrivatePng::png_get_oFFs(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, int *, int *, int *)
+ ?png_get_pCAL@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@PAPADPAH3332PAPAPAD@Z @ 13177 NONAME ; unsigned int PrivatePng::png_get_pCAL(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, char * *, int *, int *, int *, int *, char * *, char * * *)
+ ?png_get_pHYs@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@PAI2PAH@Z @ 13178 NONAME ; unsigned int PrivatePng::png_get_pHYs(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, unsigned int *, unsigned int *, int *)
+ ?png_get_pHYs_dpi@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@PAI2PAH@Z @ 13179 NONAME ; unsigned int PrivatePng::png_get_pHYs_dpi(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, unsigned int *, unsigned int *, int *)
+ ?png_get_pixel_aspect_ratio@PrivatePng@@YAMPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13180 NONAME ; float PrivatePng::png_get_pixel_aspect_ratio(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_pixel_aspect_ratio_fixed@PrivatePng@@YAHPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13181 NONAME ; int PrivatePng::png_get_pixel_aspect_ratio_fixed(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_pixels_per_inch@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13182 NONAME ; unsigned int PrivatePng::png_get_pixels_per_inch(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_pixels_per_meter@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13183 NONAME ; unsigned int PrivatePng::png_get_pixels_per_meter(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_progressive_ptr@PrivatePng@@YAPAXPBUpng_struct_def@1@@Z @ 13184 NONAME ; void * PrivatePng::png_get_progressive_ptr(struct PrivatePng::png_struct_def const *)
+ ?png_get_rgb_to_gray_status@PrivatePng@@YAEPBUpng_struct_def@1@@Z @ 13185 NONAME ; unsigned char PrivatePng::png_get_rgb_to_gray_status(struct PrivatePng::png_struct_def const *)
+ ?png_get_rowbytes@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13186 NONAME ; unsigned int PrivatePng::png_get_rowbytes(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_rows@PrivatePng@@YAPAPAEPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13187 NONAME ; unsigned char * * PrivatePng::png_get_rows(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_sBIT@PrivatePng@@YAIPBUpng_struct_def@1@PAUpng_info_def@1@PAPAUpng_color_8_struct@1@@Z @ 13188 NONAME ; unsigned int PrivatePng::png_get_sBIT(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def *, struct PrivatePng::png_color_8_struct * *)
+ ?png_get_sCAL@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@PAHPAN3@Z @ 13189 NONAME ; unsigned int PrivatePng::png_get_sCAL(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, int *, double *, double *)
+ ?png_get_sCAL_fixed@PrivatePng@@YAIPAUpng_struct_def@1@PBUpng_info_def@1@PAH22@Z @ 13190 NONAME ; unsigned int PrivatePng::png_get_sCAL_fixed(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def const *, int *, int *, int *)
+ ?png_get_sCAL_s@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@PAHPAPAD3@Z @ 13191 NONAME ; unsigned int PrivatePng::png_get_sCAL_s(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, int *, char * *, char * *)
+ ?png_get_sPLT@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@PAPAUpng_sPLT_struct@1@@Z @ 13192 NONAME ; unsigned int PrivatePng::png_get_sPLT(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, struct PrivatePng::png_sPLT_struct * *)
+ ?png_get_sRGB@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@PAH@Z @ 13193 NONAME ; unsigned int PrivatePng::png_get_sRGB(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, int *)
+ ?png_get_signature@PrivatePng@@YAPBEPBUpng_struct_def@1@PAUpng_info_def@1@@Z @ 13194 NONAME ; unsigned char const * PrivatePng::png_get_signature(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def *)
+ ?png_get_tIME@PrivatePng@@YAIPBUpng_struct_def@1@PAUpng_info_def@1@PAPAUpng_time_struct@1@@Z @ 13195 NONAME ; unsigned int PrivatePng::png_get_tIME(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def *, struct PrivatePng::png_time_struct * *)
+ ?png_get_tRNS@PrivatePng@@YAIPBUpng_struct_def@1@PAUpng_info_def@1@PAPAEPAHPAPAUpng_color_16_struct@1@@Z @ 13196 NONAME ; unsigned int PrivatePng::png_get_tRNS(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def *, unsigned char * *, int *, struct PrivatePng::png_color_16_struct * *)
+ ?png_get_text@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@PAPAUpng_text_struct@1@PAH@Z @ 13197 NONAME ; unsigned int PrivatePng::png_get_text(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, struct PrivatePng::png_text_struct * *, int *)
+ ?png_get_uint_16@PrivatePng@@YAGPBE@Z @ 13198 NONAME ; unsigned short PrivatePng::png_get_uint_16(unsigned char const *)
+ ?png_get_uint_31@PrivatePng@@YAIPAUpng_struct_def@1@PBE@Z @ 13199 NONAME ; unsigned int PrivatePng::png_get_uint_31(struct PrivatePng::png_struct_def *, unsigned char const *)
+ ?png_get_uint_32@PrivatePng@@YAIPBE@Z @ 13200 NONAME ; unsigned int PrivatePng::png_get_uint_32(unsigned char const *)
+ ?png_get_unknown_chunks@PrivatePng@@YAHPBUpng_struct_def@1@PBUpng_info_def@1@PAPAUpng_unknown_chunk_t@1@@Z @ 13201 NONAME ; int PrivatePng::png_get_unknown_chunks(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, struct PrivatePng::png_unknown_chunk_t * *)
+ ?png_get_user_chunk_ptr@PrivatePng@@YAPAXPBUpng_struct_def@1@@Z @ 13202 NONAME ; void * PrivatePng::png_get_user_chunk_ptr(struct PrivatePng::png_struct_def const *)
+ ?png_get_user_height_max@PrivatePng@@YAIPBUpng_struct_def@1@@Z @ 13203 NONAME ; unsigned int PrivatePng::png_get_user_height_max(struct PrivatePng::png_struct_def const *)
+ ?png_get_user_transform_ptr@PrivatePng@@YAPAXPBUpng_struct_def@1@@Z @ 13204 NONAME ; void * PrivatePng::png_get_user_transform_ptr(struct PrivatePng::png_struct_def const *)
+ ?png_get_user_width_max@PrivatePng@@YAIPBUpng_struct_def@1@@Z @ 13205 NONAME ; unsigned int PrivatePng::png_get_user_width_max(struct PrivatePng::png_struct_def const *)
+ ?png_get_valid@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@I@Z @ 13206 NONAME ; unsigned int PrivatePng::png_get_valid(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *, unsigned int)
+ ?png_get_x_offset_inches@PrivatePng@@YAMPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13207 NONAME ; float PrivatePng::png_get_x_offset_inches(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_x_offset_inches_fixed@PrivatePng@@YAHPAUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13208 NONAME ; int PrivatePng::png_get_x_offset_inches_fixed(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def const *)
+ ?png_get_x_offset_microns@PrivatePng@@YAHPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13209 NONAME ; int PrivatePng::png_get_x_offset_microns(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_x_offset_pixels@PrivatePng@@YAHPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13210 NONAME ; int PrivatePng::png_get_x_offset_pixels(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_x_pixels_per_inch@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13211 NONAME ; unsigned int PrivatePng::png_get_x_pixels_per_inch(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_x_pixels_per_meter@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13212 NONAME ; unsigned int PrivatePng::png_get_x_pixels_per_meter(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_y_offset_inches@PrivatePng@@YAMPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13213 NONAME ; float PrivatePng::png_get_y_offset_inches(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_y_offset_inches_fixed@PrivatePng@@YAHPAUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13214 NONAME ; int PrivatePng::png_get_y_offset_inches_fixed(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def const *)
+ ?png_get_y_offset_microns@PrivatePng@@YAHPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13215 NONAME ; int PrivatePng::png_get_y_offset_microns(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_y_offset_pixels@PrivatePng@@YAHPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13216 NONAME ; int PrivatePng::png_get_y_offset_pixels(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_y_pixels_per_inch@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13217 NONAME ; unsigned int PrivatePng::png_get_y_pixels_per_inch(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_get_y_pixels_per_meter@PrivatePng@@YAIPBUpng_struct_def@1@PBUpng_info_def@1@@Z @ 13218 NONAME ; unsigned int PrivatePng::png_get_y_pixels_per_meter(struct PrivatePng::png_struct_def const *, struct PrivatePng::png_info_def const *)
+ ?png_handle_as_unknown@PrivatePng@@YAHPAUpng_struct_def@1@PBE@Z @ 13219 NONAME ; int PrivatePng::png_handle_as_unknown(struct PrivatePng::png_struct_def *, unsigned char const *)
+ ?png_info_init_3@PrivatePng@@YAXPAPAUpng_info_def@1@I@Z @ 13220 NONAME ; void PrivatePng::png_info_init_3(struct PrivatePng::png_info_def * *, unsigned int)
+ ?png_init_io@PrivatePng@@YAXPAUpng_struct_def@1@PAU__sFILE@@@Z @ 13221 NONAME ; void PrivatePng::png_init_io(struct PrivatePng::png_struct_def *, struct __sFILE *)
+ ?png_longjmp@PrivatePng@@YAXPAUpng_struct_def@1@H@Z @ 13222 NONAME ; void PrivatePng::png_longjmp(struct PrivatePng::png_struct_def *, int)
+ ?png_malloc@PrivatePng@@YAPAXPAUpng_struct_def@1@I@Z @ 13223 NONAME ; void * PrivatePng::png_malloc(struct PrivatePng::png_struct_def *, unsigned int)
+ ?png_malloc_default@PrivatePng@@YAPAXPAUpng_struct_def@1@I@Z @ 13224 NONAME ; void * PrivatePng::png_malloc_default(struct PrivatePng::png_struct_def *, unsigned int)
+ ?png_malloc_warn@PrivatePng@@YAPAXPAUpng_struct_def@1@I@Z @ 13225 NONAME ; void * PrivatePng::png_malloc_warn(struct PrivatePng::png_struct_def *, unsigned int)
+ ?png_permit_mng_features@PrivatePng@@YAIPAUpng_struct_def@1@I@Z @ 13226 NONAME ; unsigned int PrivatePng::png_permit_mng_features(struct PrivatePng::png_struct_def *, unsigned int)
+ ?png_process_data@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@PAEI@Z @ 13227 NONAME ; void PrivatePng::png_process_data(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, unsigned char *, unsigned int)
+ ?png_process_data_pause@PrivatePng@@YAIPAUpng_struct_def@1@H@Z @ 13228 NONAME ; unsigned int PrivatePng::png_process_data_pause(struct PrivatePng::png_struct_def *, int)
+ ?png_process_data_skip@PrivatePng@@YAIPAUpng_struct_def@1@@Z @ 13229 NONAME ; unsigned int PrivatePng::png_process_data_skip(struct PrivatePng::png_struct_def *)
+ ?png_progressive_combine_row@PrivatePng@@YAXPAUpng_struct_def@1@PAEPBE@Z @ 13230 NONAME ; void PrivatePng::png_progressive_combine_row(struct PrivatePng::png_struct_def *, unsigned char *, unsigned char const *)
+ ?png_read_end@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@@Z @ 13231 NONAME ; void PrivatePng::png_read_end(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *)
+ ?png_read_image@PrivatePng@@YAXPAUpng_struct_def@1@PAPAE@Z @ 13232 NONAME ; void PrivatePng::png_read_image(struct PrivatePng::png_struct_def *, unsigned char * *)
+ ?png_read_info@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@@Z @ 13233 NONAME ; void PrivatePng::png_read_info(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *)
+ ?png_read_png@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@HPAX@Z @ 13234 NONAME ; void PrivatePng::png_read_png(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, int, void *)
+ ?png_read_row@PrivatePng@@YAXPAUpng_struct_def@1@PAE1@Z @ 13235 NONAME ; void PrivatePng::png_read_row(struct PrivatePng::png_struct_def *, unsigned char *, unsigned char *)
+ ?png_read_rows@PrivatePng@@YAXPAUpng_struct_def@1@PAPAE1I@Z @ 13236 NONAME ; void PrivatePng::png_read_rows(struct PrivatePng::png_struct_def *, unsigned char * *, unsigned char * *, unsigned int)
+ ?png_read_update_info@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@@Z @ 13237 NONAME ; void PrivatePng::png_read_update_info(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *)
+ ?png_reset_zstream@PrivatePng@@YAHPAUpng_struct_def@1@@Z @ 13238 NONAME ; int PrivatePng::png_reset_zstream(struct PrivatePng::png_struct_def *)
+ ?png_save_int_32@PrivatePng@@YAXPAEH@Z @ 13239 NONAME ; void PrivatePng::png_save_int_32(unsigned char *, int)
+ ?png_save_uint_16@PrivatePng@@YAXPAEI@Z @ 13240 NONAME ; void PrivatePng::png_save_uint_16(unsigned char *, unsigned int)
+ ?png_save_uint_32@PrivatePng@@YAXPAEI@Z @ 13241 NONAME ; void PrivatePng::png_save_uint_32(unsigned char *, unsigned int)
+ ?png_set_IHDR@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@IIHHHHH@Z @ 13242 NONAME ; void PrivatePng::png_set_IHDR(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, unsigned int, unsigned int, int, int, int, int, int)
+ ?png_set_PLTE@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@PBUpng_color_struct@1@H@Z @ 13243 NONAME ; void PrivatePng::png_set_PLTE(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, struct PrivatePng::png_color_struct const *, int)
+ ?png_set_add_alpha@PrivatePng@@YAXPAUpng_struct_def@1@IH@Z @ 13244 NONAME ; void PrivatePng::png_set_add_alpha(struct PrivatePng::png_struct_def *, unsigned int, int)
+ ?png_set_alpha_mode@PrivatePng@@YAXPAUpng_struct_def@1@HN@Z @ 13245 NONAME ; void PrivatePng::png_set_alpha_mode(struct PrivatePng::png_struct_def *, int, double)
+ ?png_set_alpha_mode_fixed@PrivatePng@@YAXPAUpng_struct_def@1@HH@Z @ 13246 NONAME ; void PrivatePng::png_set_alpha_mode_fixed(struct PrivatePng::png_struct_def *, int, int)
+ ?png_set_bKGD@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@PBUpng_color_16_struct@1@@Z @ 13247 NONAME ; void PrivatePng::png_set_bKGD(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, struct PrivatePng::png_color_16_struct const *)
+ ?png_set_background@PrivatePng@@YAXPAUpng_struct_def@1@PBUpng_color_16_struct@1@HHN@Z @ 13248 NONAME ; void PrivatePng::png_set_background(struct PrivatePng::png_struct_def *, struct PrivatePng::png_color_16_struct const *, int, int, double)
+ ?png_set_background_fixed@PrivatePng@@YAXPAUpng_struct_def@1@PBUpng_color_16_struct@1@HHH@Z @ 13249 NONAME ; void PrivatePng::png_set_background_fixed(struct PrivatePng::png_struct_def *, struct PrivatePng::png_color_16_struct const *, int, int, int)
+ ?png_set_benign_errors@PrivatePng@@YAXPAUpng_struct_def@1@H@Z @ 13250 NONAME ; void PrivatePng::png_set_benign_errors(struct PrivatePng::png_struct_def *, int)
+ ?png_set_bgr@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13251 NONAME ; void PrivatePng::png_set_bgr(struct PrivatePng::png_struct_def *)
+ ?png_set_cHRM@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@NNNNNNNN@Z @ 13252 NONAME ; void PrivatePng::png_set_cHRM(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, double, double, double, double, double, double, double, double)
+ ?png_set_cHRM_fixed@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@HHHHHHHH@Z @ 13253 NONAME ; void PrivatePng::png_set_cHRM_fixed(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, int, int, int, int, int, int, int, int)
+ ?png_set_chunk_cache_max@PrivatePng@@YAXPAUpng_struct_def@1@I@Z @ 13254 NONAME ; void PrivatePng::png_set_chunk_cache_max(struct PrivatePng::png_struct_def *, unsigned int)
+ ?png_set_chunk_malloc_max@PrivatePng@@YAXPAUpng_struct_def@1@I@Z @ 13255 NONAME ; void PrivatePng::png_set_chunk_malloc_max(struct PrivatePng::png_struct_def *, unsigned int)
+ ?png_set_compression_buffer_size@PrivatePng@@YAXPAUpng_struct_def@1@I@Z @ 13256 NONAME ; void PrivatePng::png_set_compression_buffer_size(struct PrivatePng::png_struct_def *, unsigned int)
+ ?png_set_compression_level@PrivatePng@@YAXPAUpng_struct_def@1@H@Z @ 13257 NONAME ; void PrivatePng::png_set_compression_level(struct PrivatePng::png_struct_def *, int)
+ ?png_set_compression_mem_level@PrivatePng@@YAXPAUpng_struct_def@1@H@Z @ 13258 NONAME ; void PrivatePng::png_set_compression_mem_level(struct PrivatePng::png_struct_def *, int)
+ ?png_set_compression_method@PrivatePng@@YAXPAUpng_struct_def@1@H@Z @ 13259 NONAME ; void PrivatePng::png_set_compression_method(struct PrivatePng::png_struct_def *, int)
+ ?png_set_compression_strategy@PrivatePng@@YAXPAUpng_struct_def@1@H@Z @ 13260 NONAME ; void PrivatePng::png_set_compression_strategy(struct PrivatePng::png_struct_def *, int)
+ ?png_set_compression_window_bits@PrivatePng@@YAXPAUpng_struct_def@1@H@Z @ 13261 NONAME ; void PrivatePng::png_set_compression_window_bits(struct PrivatePng::png_struct_def *, int)
+ ?png_set_crc_action@PrivatePng@@YAXPAUpng_struct_def@1@HH@Z @ 13262 NONAME ; void PrivatePng::png_set_crc_action(struct PrivatePng::png_struct_def *, int, int)
+ ?png_set_error_fn@PrivatePng@@YAXPAUpng_struct_def@1@PAXP6AX0PBD@ZP6AX02@Z@Z @ 13263 NONAME ; void PrivatePng::png_set_error_fn(struct PrivatePng::png_struct_def *, void *, void (*)(struct PrivatePng::png_struct_def *, char const *), void (*)(struct PrivatePng::png_struct_def *, char const *))
+ ?png_set_expand@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13264 NONAME ; void PrivatePng::png_set_expand(struct PrivatePng::png_struct_def *)
+ ?png_set_expand_16@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13265 NONAME ; void PrivatePng::png_set_expand_16(struct PrivatePng::png_struct_def *)
+ ?png_set_expand_gray_1_2_4_to_8@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13266 NONAME ; void PrivatePng::png_set_expand_gray_1_2_4_to_8(struct PrivatePng::png_struct_def *)
+ ?png_set_filler@PrivatePng@@YAXPAUpng_struct_def@1@IH@Z @ 13267 NONAME ; void PrivatePng::png_set_filler(struct PrivatePng::png_struct_def *, unsigned int, int)
+ ?png_set_filter@PrivatePng@@YAXPAUpng_struct_def@1@HH@Z @ 13268 NONAME ; void PrivatePng::png_set_filter(struct PrivatePng::png_struct_def *, int, int)
+ ?png_set_filter_heuristics@PrivatePng@@YAXPAUpng_struct_def@1@HHPBN1@Z @ 13269 NONAME ; void PrivatePng::png_set_filter_heuristics(struct PrivatePng::png_struct_def *, int, int, double const *, double const *)
+ ?png_set_filter_heuristics_fixed@PrivatePng@@YAXPAUpng_struct_def@1@HHPBH1@Z @ 13270 NONAME ; void PrivatePng::png_set_filter_heuristics_fixed(struct PrivatePng::png_struct_def *, int, int, int const *, int const *)
+ ?png_set_flush@PrivatePng@@YAXPAUpng_struct_def@1@H@Z @ 13271 NONAME ; void PrivatePng::png_set_flush(struct PrivatePng::png_struct_def *, int)
+ ?png_set_gAMA@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@N@Z @ 13272 NONAME ; void PrivatePng::png_set_gAMA(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, double)
+ ?png_set_gAMA_fixed@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@H@Z @ 13273 NONAME ; void PrivatePng::png_set_gAMA_fixed(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, int)
+ ?png_set_gamma@PrivatePng@@YAXPAUpng_struct_def@1@NN@Z @ 13274 NONAME ; void PrivatePng::png_set_gamma(struct PrivatePng::png_struct_def *, double, double)
+ ?png_set_gamma_fixed@PrivatePng@@YAXPAUpng_struct_def@1@HH@Z @ 13275 NONAME ; void PrivatePng::png_set_gamma_fixed(struct PrivatePng::png_struct_def *, int, int)
+ ?png_set_gray_to_rgb@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13276 NONAME ; void PrivatePng::png_set_gray_to_rgb(struct PrivatePng::png_struct_def *)
+ ?png_set_hIST@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@PBG@Z @ 13277 NONAME ; void PrivatePng::png_set_hIST(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, unsigned short const *)
+ ?png_set_iCCP@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@PBDHPBEI@Z @ 13278 NONAME ; void PrivatePng::png_set_iCCP(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, char const *, int, unsigned char const *, unsigned int)
+ ?png_set_interlace_handling@PrivatePng@@YAHPAUpng_struct_def@1@@Z @ 13279 NONAME ; int PrivatePng::png_set_interlace_handling(struct PrivatePng::png_struct_def *)
+ ?png_set_invalid@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@H@Z @ 13280 NONAME ; void PrivatePng::png_set_invalid(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, int)
+ ?png_set_invert_alpha@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13281 NONAME ; void PrivatePng::png_set_invert_alpha(struct PrivatePng::png_struct_def *)
+ ?png_set_invert_mono@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13282 NONAME ; void PrivatePng::png_set_invert_mono(struct PrivatePng::png_struct_def *)
+ ?png_set_keep_unknown_chunks@PrivatePng@@YAXPAUpng_struct_def@1@HPBEH@Z @ 13283 NONAME ; void PrivatePng::png_set_keep_unknown_chunks(struct PrivatePng::png_struct_def *, int, unsigned char const *, int)
+ ?png_set_longjmp_fn@PrivatePng@@YAPAY0BA@KPAUpng_struct_def@1@P6AXQAKH@ZI@Z @ 13284 NONAME ; unsigned long [16] * PrivatePng::png_set_longjmp_fn(struct PrivatePng::png_struct_def *, void (*)(unsigned long * const, int), unsigned int)
+ ?png_set_mem_fn@PrivatePng@@YAXPAUpng_struct_def@1@PAXP6APAX0I@ZP6AX01@Z@Z @ 13285 NONAME ; void PrivatePng::png_set_mem_fn(struct PrivatePng::png_struct_def *, void *, void * (*)(struct PrivatePng::png_struct_def *, unsigned int), void (*)(struct PrivatePng::png_struct_def *, void *))
+ ?png_set_oFFs@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@HHH@Z @ 13286 NONAME ; void PrivatePng::png_set_oFFs(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, int, int, int)
+ ?png_set_pCAL@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@PBDHHHH2PAPAD@Z @ 13287 NONAME ; void PrivatePng::png_set_pCAL(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, char const *, int, int, int, int, char const *, char * *)
+ ?png_set_pHYs@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@IIH@Z @ 13288 NONAME ; void PrivatePng::png_set_pHYs(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, unsigned int, unsigned int, int)
+ ?png_set_packing@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13289 NONAME ; void PrivatePng::png_set_packing(struct PrivatePng::png_struct_def *)
+ ?png_set_packswap@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13290 NONAME ; void PrivatePng::png_set_packswap(struct PrivatePng::png_struct_def *)
+ ?png_set_palette_to_rgb@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13291 NONAME ; void PrivatePng::png_set_palette_to_rgb(struct PrivatePng::png_struct_def *)
+ ?png_set_progressive_read_fn@PrivatePng@@YAXPAUpng_struct_def@1@PAXP6AX0PAUpng_info_def@1@@ZP6AX0PAEIH@ZP6AX02@Z@Z @ 13292 NONAME ; void PrivatePng::png_set_progressive_read_fn(struct PrivatePng::png_struct_def *, void *, void (*)(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *), void (*)(struct PrivatePng::png_struct_def *, unsigned char *, unsigned int, int), void (*)(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *))
+ ?png_set_quantize@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_color_struct@1@HHPBGH@Z @ 13293 NONAME ; void PrivatePng::png_set_quantize(struct PrivatePng::png_struct_def *, struct PrivatePng::png_color_struct *, int, int, unsigned short const *, int)
+ ?png_set_read_fn@PrivatePng@@YAXPAUpng_struct_def@1@PAXP6AX0PAEI@Z@Z @ 13294 NONAME ; void PrivatePng::png_set_read_fn(struct PrivatePng::png_struct_def *, void *, void (*)(struct PrivatePng::png_struct_def *, unsigned char *, unsigned int))
+ ?png_set_read_status_fn@PrivatePng@@YAXPAUpng_struct_def@1@P6AX0IH@Z@Z @ 13295 NONAME ; void PrivatePng::png_set_read_status_fn(struct PrivatePng::png_struct_def *, void (*)(struct PrivatePng::png_struct_def *, unsigned int, int))
+ ?png_set_read_user_chunk_fn@PrivatePng@@YAXPAUpng_struct_def@1@PAXP6AH0PAUpng_unknown_chunk_t@1@@Z@Z @ 13296 NONAME ; void PrivatePng::png_set_read_user_chunk_fn(struct PrivatePng::png_struct_def *, void *, int (*)(struct PrivatePng::png_struct_def *, struct PrivatePng::png_unknown_chunk_t *))
+ ?png_set_read_user_transform_fn@PrivatePng@@YAXPAUpng_struct_def@1@P6AX0PAUpng_row_info_struct@1@PAE@Z@Z @ 13297 NONAME ; void PrivatePng::png_set_read_user_transform_fn(struct PrivatePng::png_struct_def *, void (*)(struct PrivatePng::png_struct_def *, struct PrivatePng::png_row_info_struct *, unsigned char *))
+ ?png_set_rgb_to_gray@PrivatePng@@YAXPAUpng_struct_def@1@HNN@Z @ 13298 NONAME ; void PrivatePng::png_set_rgb_to_gray(struct PrivatePng::png_struct_def *, int, double, double)
+ ?png_set_rgb_to_gray_fixed@PrivatePng@@YAXPAUpng_struct_def@1@HHH@Z @ 13299 NONAME ; void PrivatePng::png_set_rgb_to_gray_fixed(struct PrivatePng::png_struct_def *, int, int, int)
+ ?png_set_rows@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@PAPAE@Z @ 13300 NONAME ; void PrivatePng::png_set_rows(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, unsigned char * *)
+ ?png_set_sBIT@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@PBUpng_color_8_struct@1@@Z @ 13301 NONAME ; void PrivatePng::png_set_sBIT(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, struct PrivatePng::png_color_8_struct const *)
+ ?png_set_sCAL@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@HNN@Z @ 13302 NONAME ; void PrivatePng::png_set_sCAL(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, int, double, double)
+ ?png_set_sCAL_fixed@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@HHH@Z @ 13303 NONAME ; void PrivatePng::png_set_sCAL_fixed(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, int, int, int)
+ ?png_set_sCAL_s@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@HPBD2@Z @ 13304 NONAME ; void PrivatePng::png_set_sCAL_s(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, int, char const *, char const *)
+ ?png_set_sPLT@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@PBUpng_sPLT_struct@1@H@Z @ 13305 NONAME ; void PrivatePng::png_set_sPLT(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, struct PrivatePng::png_sPLT_struct const *, int)
+ ?png_set_sRGB@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@H@Z @ 13306 NONAME ; void PrivatePng::png_set_sRGB(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, int)
+ ?png_set_sRGB_gAMA_and_cHRM@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@H@Z @ 13307 NONAME ; void PrivatePng::png_set_sRGB_gAMA_and_cHRM(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, int)
+ ?png_set_scale_16@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13308 NONAME ; void PrivatePng::png_set_scale_16(struct PrivatePng::png_struct_def *)
+ ?png_set_shift@PrivatePng@@YAXPAUpng_struct_def@1@PBUpng_color_8_struct@1@@Z @ 13309 NONAME ; void PrivatePng::png_set_shift(struct PrivatePng::png_struct_def *, struct PrivatePng::png_color_8_struct const *)
+ ?png_set_sig_bytes@PrivatePng@@YAXPAUpng_struct_def@1@H@Z @ 13310 NONAME ; void PrivatePng::png_set_sig_bytes(struct PrivatePng::png_struct_def *, int)
+ ?png_set_strip_16@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13311 NONAME ; void PrivatePng::png_set_strip_16(struct PrivatePng::png_struct_def *)
+ ?png_set_strip_alpha@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13312 NONAME ; void PrivatePng::png_set_strip_alpha(struct PrivatePng::png_struct_def *)
+ ?png_set_swap@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13313 NONAME ; void PrivatePng::png_set_swap(struct PrivatePng::png_struct_def *)
+ ?png_set_swap_alpha@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13314 NONAME ; void PrivatePng::png_set_swap_alpha(struct PrivatePng::png_struct_def *)
+ ?png_set_tIME@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@PBUpng_time_struct@1@@Z @ 13315 NONAME ; void PrivatePng::png_set_tIME(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, struct PrivatePng::png_time_struct const *)
+ ?png_set_tRNS@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@PBEHPBUpng_color_16_struct@1@@Z @ 13316 NONAME ; void PrivatePng::png_set_tRNS(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, unsigned char const *, int, struct PrivatePng::png_color_16_struct const *)
+ ?png_set_tRNS_to_alpha@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13317 NONAME ; void PrivatePng::png_set_tRNS_to_alpha(struct PrivatePng::png_struct_def *)
+ ?png_set_text@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@PBUpng_text_struct@1@H@Z @ 13318 NONAME ; void PrivatePng::png_set_text(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, struct PrivatePng::png_text_struct const *, int)
+ ?png_set_text_compression_level@PrivatePng@@YAXPAUpng_struct_def@1@H@Z @ 13319 NONAME ; void PrivatePng::png_set_text_compression_level(struct PrivatePng::png_struct_def *, int)
+ ?png_set_text_compression_mem_level@PrivatePng@@YAXPAUpng_struct_def@1@H@Z @ 13320 NONAME ; void PrivatePng::png_set_text_compression_mem_level(struct PrivatePng::png_struct_def *, int)
+ ?png_set_text_compression_method@PrivatePng@@YAXPAUpng_struct_def@1@H@Z @ 13321 NONAME ; void PrivatePng::png_set_text_compression_method(struct PrivatePng::png_struct_def *, int)
+ ?png_set_text_compression_strategy@PrivatePng@@YAXPAUpng_struct_def@1@H@Z @ 13322 NONAME ; void PrivatePng::png_set_text_compression_strategy(struct PrivatePng::png_struct_def *, int)
+ ?png_set_text_compression_window_bits@PrivatePng@@YAXPAUpng_struct_def@1@H@Z @ 13323 NONAME ; void PrivatePng::png_set_text_compression_window_bits(struct PrivatePng::png_struct_def *, int)
+ ?png_set_unknown_chunk_location@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@HH@Z @ 13324 NONAME ; void PrivatePng::png_set_unknown_chunk_location(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, int, int)
+ ?png_set_unknown_chunks@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@PBUpng_unknown_chunk_t@1@H@Z @ 13325 NONAME ; void PrivatePng::png_set_unknown_chunks(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, struct PrivatePng::png_unknown_chunk_t const *, int)
+ ?png_set_user_limits@PrivatePng@@YAXPAUpng_struct_def@1@II@Z @ 13326 NONAME ; void PrivatePng::png_set_user_limits(struct PrivatePng::png_struct_def *, unsigned int, unsigned int)
+ ?png_set_user_transform_info@PrivatePng@@YAXPAUpng_struct_def@1@PAXHH@Z @ 13327 NONAME ; void PrivatePng::png_set_user_transform_info(struct PrivatePng::png_struct_def *, void *, int, int)
+ ?png_set_write_fn@PrivatePng@@YAXPAUpng_struct_def@1@PAXP6AX0PAEI@ZP6AX0@Z@Z @ 13328 NONAME ; void PrivatePng::png_set_write_fn(struct PrivatePng::png_struct_def *, void *, void (*)(struct PrivatePng::png_struct_def *, unsigned char *, unsigned int), void (*)(struct PrivatePng::png_struct_def *))
+ ?png_set_write_status_fn@PrivatePng@@YAXPAUpng_struct_def@1@P6AX0IH@Z@Z @ 13329 NONAME ; void PrivatePng::png_set_write_status_fn(struct PrivatePng::png_struct_def *, void (*)(struct PrivatePng::png_struct_def *, unsigned int, int))
+ ?png_set_write_user_transform_fn@PrivatePng@@YAXPAUpng_struct_def@1@P6AX0PAUpng_row_info_struct@1@PAE@Z@Z @ 13330 NONAME ; void PrivatePng::png_set_write_user_transform_fn(struct PrivatePng::png_struct_def *, void (*)(struct PrivatePng::png_struct_def *, struct PrivatePng::png_row_info_struct *, unsigned char *))
+ ?png_sig_cmp@PrivatePng@@YAHPBEII@Z @ 13331 NONAME ; int PrivatePng::png_sig_cmp(unsigned char const *, unsigned int, unsigned int)
+ ?png_start_read_image@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13332 NONAME ; void PrivatePng::png_start_read_image(struct PrivatePng::png_struct_def *)
+ ?png_warning@PrivatePng@@YAXPAUpng_struct_def@1@PBD@Z @ 13333 NONAME ; void PrivatePng::png_warning(struct PrivatePng::png_struct_def *, char const *)
+ ?png_write_chunk@PrivatePng@@YAXPAUpng_struct_def@1@PBE1I@Z @ 13334 NONAME ; void PrivatePng::png_write_chunk(struct PrivatePng::png_struct_def *, unsigned char const *, unsigned char const *, unsigned int)
+ ?png_write_chunk_data@PrivatePng@@YAXPAUpng_struct_def@1@PBEI@Z @ 13335 NONAME ; void PrivatePng::png_write_chunk_data(struct PrivatePng::png_struct_def *, unsigned char const *, unsigned int)
+ ?png_write_chunk_end@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13336 NONAME ; void PrivatePng::png_write_chunk_end(struct PrivatePng::png_struct_def *)
+ ?png_write_chunk_start@PrivatePng@@YAXPAUpng_struct_def@1@PBEI@Z @ 13337 NONAME ; void PrivatePng::png_write_chunk_start(struct PrivatePng::png_struct_def *, unsigned char const *, unsigned int)
+ ?png_write_end@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@@Z @ 13338 NONAME ; void PrivatePng::png_write_end(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *)
+ ?png_write_flush@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13339 NONAME ; void PrivatePng::png_write_flush(struct PrivatePng::png_struct_def *)
+ ?png_write_image@PrivatePng@@YAXPAUpng_struct_def@1@PAPAE@Z @ 13340 NONAME ; void PrivatePng::png_write_image(struct PrivatePng::png_struct_def *, unsigned char * *)
+ ?png_write_info@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@@Z @ 13341 NONAME ; void PrivatePng::png_write_info(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *)
+ ?png_write_info_before_PLTE@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@@Z @ 13342 NONAME ; void PrivatePng::png_write_info_before_PLTE(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *)
+ ?png_write_png@PrivatePng@@YAXPAUpng_struct_def@1@PAUpng_info_def@1@HPAX@Z @ 13343 NONAME ; void PrivatePng::png_write_png(struct PrivatePng::png_struct_def *, struct PrivatePng::png_info_def *, int, void *)
+ ?png_write_row@PrivatePng@@YAXPAUpng_struct_def@1@PBE@Z @ 13344 NONAME ; void PrivatePng::png_write_row(struct PrivatePng::png_struct_def *, unsigned char const *)
+ ?png_write_rows@PrivatePng@@YAXPAUpng_struct_def@1@PAPAEI@Z @ 13345 NONAME ; void PrivatePng::png_write_rows(struct PrivatePng::png_struct_def *, unsigned char * *, unsigned int)
+ ?png_write_sig@PrivatePng@@YAXPAUpng_struct_def@1@@Z @ 13346 NONAME ; void PrivatePng::png_write_sig(struct PrivatePng::png_struct_def *)
?clipEnabledChanged@QBlitterPaintEngine@@UAEXXZ @ 13347 NONAME ; void QBlitterPaintEngine::clipEnabledChanged(void)
?qt_static_metacall@QEventDispatcherS60@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13348 NONAME ; void QEventDispatcherS60::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *)
?supportsSubPixelPositions@QFontEngine@@UBE_NXZ @ 13349 NONAME ; bool QFontEngine::supportsSubPixelPositions(void) const
@@ -13990,3 +13990,11 @@ EXPORTS
?resetFontEngineCache@QTextEngine@@QAEXXZ @ 13989 NONAME ; void QTextEngine::resetFontEngineCache(void)
?symbianHandleLiteModeStartup@QApplicationPrivate@@QAEXXZ @ 13990 NONAME ; void QApplicationPrivate::symbianHandleLiteModeStartup(void)
?_q_cleanupWinIds@QWidgetPrivate@@QAEXXZ @ 13991 NONAME ; void QWidgetPrivate::_q_cleanupWinIds(void)
+ ?qt_s60_setEditorFlags@@YAXH@Z @ 13992 NONAME ; void qt_s60_setEditorFlags(int)
+ ?adjustViewOptionsForIndex@QTreeViewPrivate@@UBEXPAVQStyleOptionViewItemV4@@ABVQModelIndex@@@Z @ 13993 NONAME ; void QTreeViewPrivate::adjustViewOptionsForIndex(class QStyleOptionViewItemV4 *, class QModelIndex const &) const
+ ?setNativePaintMode@QSymbianGraphicsSystemHelper@@SAXPAVQWidget@@W4NativePaintMode@1@@Z @ 13994 NONAME ; void QSymbianGraphicsSystemHelper::setNativePaintMode(class QWidget *, enum QSymbianGraphicsSystemHelper::NativePaintMode)
+ ?calcLogicalIndices@QTreeViewPrivate@@QBEXPAV?$QVector@H@@PAV?$QVector@W4ViewItemPosition@QStyleOptionViewItemV4@@@@@Z @ 13995 NONAME ; void QTreeViewPrivate::calcLogicalIndices(class QVector<int> *, class QVector<enum QStyleOptionViewItemV4::ViewItemPosition> *) const
+ ?setReceiveNativePaintEvents@QSymbianGraphicsSystemHelper@@SAXPAVQWidget@@_N@Z @ 13996 NONAME ; void QSymbianGraphicsSystemHelper::setReceiveNativePaintEvents(class QWidget *, bool)
+ ?setNativePaintMode@QSymbianGraphicsSystemHelper@@SAXPAVCCoeControl@@W4NativePaintMode@1@@Z @ 13997 NONAME ; void QSymbianGraphicsSystemHelper::setNativePaintMode(class CCoeControl *, enum QSymbianGraphicsSystemHelper::NativePaintMode)
+ ?setIgnoreFocusChanged@QSymbianGraphicsSystemHelper@@SAXPAVQWidget@@_N@Z @ 13998 NONAME ; void QSymbianGraphicsSystemHelper::setIgnoreFocusChanged(class QWidget *, bool)
+
diff --git a/src/s60installs/bwins/QtNetworku.def b/src/s60installs/bwins/QtNetworku.def
index 2f8a7de..e03c024 100644
--- a/src/s60installs/bwins/QtNetworku.def
+++ b/src/s60installs/bwins/QtNetworku.def
@@ -1258,4 +1258,6 @@ EXPORTS
?metaObject@QHttpMultiPart@@UBEPBUQMetaObject@@XZ @ 1257 NONAME ; struct QMetaObject const * QHttpMultiPart::metaObject(void) const
?qt_static_metacall@QNetworkSession@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1258 NONAME ; void QNetworkSession::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *)
?startPolling@QNetworkConfigurationManagerPrivate@@AAEXXZ @ 1259 NONAME ; void QNetworkConfigurationManagerPrivate::startPolling(void)
+ ?testSslOption@QSslConfiguration@@QBE_NW4SslOption@QSsl@@@Z @ 1260 NONAME ; bool QSslConfiguration::testSslOption(enum QSsl::SslOption) const
+ ?setSslOption@QSslConfiguration@@QAEXW4SslOption@QSsl@@_N@Z @ 1261 NONAME ; void QSslConfiguration::setSslOption(enum QSsl::SslOption, bool)
diff --git a/src/s60installs/bwins/QtOpenGLu.def b/src/s60installs/bwins/QtOpenGLu.def
index 664e981..ed73a33 100644
--- a/src/s60installs/bwins/QtOpenGLu.def
+++ b/src/s60installs/bwins/QtOpenGLu.def
@@ -878,4 +878,6 @@ EXPORTS
?glGetShaderPrecisionFormat@QGLFunctions@@QAEXIIPAH0@Z @ 877 NONAME ; void QGLFunctions::glGetShaderPrecisionFormat(unsigned int, unsigned int, int *, int *)
?qt_static_metacall@QGLShaderProgram@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 878 NONAME ; void QGLShaderProgram::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *)
?insert@QGLContextGroupResourceBase@@QAEXPBVQGLContext@@PAX@Z @ 879 NONAME ; void QGLContextGroupResourceBase::insert(class QGLContext const *, void *)
+ ?contextDeleted@QGLContextGroupResourceBase@@UAEXPBVQGLContext@@@Z @ 880 NONAME ; void QGLContextGroupResourceBase::contextDeleted(class QGLContext const *)
+ ?contextDeleted@QGLTextureGlyphCache@@UAEXPBVQGLContext@@@Z @ 881 NONAME ; void QGLTextureGlyphCache::contextDeleted(class QGLContext const *)
diff --git a/src/s60installs/bwins/QtOpenVGu.def b/src/s60installs/bwins/QtOpenVGu.def
index 547931e..dc1ddce 100644
--- a/src/s60installs/bwins/QtOpenVGu.def
+++ b/src/s60installs/bwins/QtOpenVGu.def
@@ -159,7 +159,7 @@ EXPORTS
?hibernate@QVGImagePool@@UAEXXZ @ 158 NONAME ; void QVGImagePool::hibernate(void)
?qt_vg_destroy_context@@YAXPAVQEglContext@@H@Z @ 159 NONAME ; void qt_vg_destroy_context(class QEglContext *, int)
??0QVGImagePool@@QAE@XZ @ 160 NONAME ; QVGImagePool::QVGImagePool(void)
- ?setImagePool@QVGImagePool@@SAXPAV1@@Z @ 161 NONAME ; void QVGImagePool::setImagePool(class QVGImagePool *)
+ ?setImagePool@QVGImagePool@@SAXPAV1@@Z @ 161 NONAME ABSENT ; void QVGImagePool::setImagePool(class QVGImagePool *)
?pixmapLRU@QVGImagePool@@IAEPAVQVGPixmapData@@XZ @ 162 NONAME ; class QVGPixmapData * QVGImagePool::pixmapLRU(void)
?qt_vg_create_context@@YAPAVQEglContext@@PAVQPaintDevice@@H@Z @ 163 NONAME ; class QEglContext * qt_vg_create_context(class QPaintDevice *, int)
?reclaimImages@QVGPixmapData@@UAEXXZ @ 164 NONAME ; void QVGPixmapData::reclaimImages(void)
diff --git a/src/s60installs/eabi/QtCoreu.def b/src/s60installs/eabi/QtCoreu.def
index 5436390..44aa48c 100644
--- a/src/s60installs/eabi/QtCoreu.def
+++ b/src/s60installs/eabi/QtCoreu.def
@@ -4165,4 +4165,8 @@ EXPORTS
_ZN14QFactoryLoader9updateDirERK7QStringR9QSettings @ 4164 NONAME
_ZN23QCoreApplicationPrivate26rebuildInstallLibraryPathsEv @ 4165 NONAME
_ZN13QActiveObject18maybeQueueForLaterEv @ 4166 NONAME
+ _ZN21QSymbianSocketManager19addActiveConnectionEm @ 4167 NONAME
+ _ZN21QSymbianSocketManager22removeActiveConnectionEm @ 4168 NONAME
+ _ZN23QEventDispatcherSymbian17activeObjectErrorEi @ 4169 NONAME
+ _ZNK21QSymbianSocketManager17activeConnectionsEv @ 4170 NONAME
diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def
index f667bab..8aaa65d 100644
--- a/src/s60installs/eabi/QtGuiu.def
+++ b/src/s60installs/eabi/QtGuiu.def
@@ -12803,3 +12803,11 @@ EXPORTS
_ZN11QTextEngine20resetFontEngineCacheEv @ 12802 NONAME
_ZN14QWidgetPrivate16_q_cleanupWinIdsEv @ 12803 NONAME
_ZN19QApplicationPrivate28symbianHandleLiteModeStartupEv @ 12804 NONAME
+ _Z21qt_s60_setEditorFlagsi @ 12805 NONAME
+ _ZN28QSymbianGraphicsSystemHelper18setNativePaintModeEP11CCoeControlNS_15NativePaintModeE @ 12806 NONAME
+ _ZN28QSymbianGraphicsSystemHelper18setNativePaintModeEP7QWidgetNS_15NativePaintModeE @ 12807 NONAME
+ _ZN28QSymbianGraphicsSystemHelper21setIgnoreFocusChangedEP7QWidgetb @ 12808 NONAME
+ _ZN28QSymbianGraphicsSystemHelper27setReceiveNativePaintEventsEP7QWidgetb @ 12809 NONAME
+ _ZNK16QTreeViewPrivate18calcLogicalIndicesEP7QVectorIiEPS0_IN22QStyleOptionViewItemV416ViewItemPositionEE @ 12810 NONAME
+ _ZNK16QTreeViewPrivate25adjustViewOptionsForIndexEP22QStyleOptionViewItemV4RK11QModelIndex @ 12811 NONAME
+
diff --git a/src/s60installs/eabi/QtNetworku.def b/src/s60installs/eabi/QtNetworku.def
index 6e7dedd..54f5b5f 100644
--- a/src/s60installs/eabi/QtNetworku.def
+++ b/src/s60installs/eabi/QtNetworku.def
@@ -1270,4 +1270,6 @@ EXPORTS
_ZNK9QHttpParteqERKS_ @ 1269 NONAME
_ZTI14QHttpMultiPart @ 1270 NONAME
_ZTV14QHttpMultiPart @ 1271 NONAME
+ _ZN17QSslConfiguration12setSslOptionEN4QSsl9SslOptionEb @ 1272 NONAME
+ _ZNK17QSslConfiguration13testSslOptionEN4QSsl9SslOptionE @ 1273 NONAME
diff --git a/src/s60installs/eabi/QtOpenGLu.def b/src/s60installs/eabi/QtOpenGLu.def
index 2d9aa8f..edb5e03 100644
--- a/src/s60installs/eabi/QtOpenGLu.def
+++ b/src/s60installs/eabi/QtOpenGLu.def
@@ -782,4 +782,5 @@ EXPORTS
_ZThn104_N20QGLTextureGlyphCacheD0Ev @ 781 NONAME
_ZThn104_N20QGLTextureGlyphCacheD1Ev @ 782 NONAME
_ZThn8_NK16QGLWindowSurface8featuresEv @ 783 NONAME
+ _ZN27QGLContextGroupResourceBase14contextDeletedEPK10QGLContext @ 784 NONAME
diff --git a/src/s60installs/eabi/QtOpenVGu.def b/src/s60installs/eabi/QtOpenVGu.def
index a66df98..f87c71d 100644
--- a/src/s60installs/eabi/QtOpenVGu.def
+++ b/src/s60installs/eabi/QtOpenVGu.def
@@ -176,7 +176,7 @@ EXPORTS
_ZN12QVGImagePool11detachImageEP13QVGPixmapData @ 175 NONAME
_ZN12QVGImagePool12reclaimSpaceE13VGImageFormatllP13QVGPixmapData @ 176 NONAME
_ZN12QVGImagePool12releaseImageEP13QVGPixmapDatam @ 177 NONAME
- _ZN12QVGImagePool12setImagePoolEPS_ @ 178 NONAME
+ _ZN12QVGImagePool12setImagePoolEPS_ @ 178 NONAME ABSENT
_ZN12QVGImagePool13removeFromLRUEP13QVGPixmapData @ 179 NONAME
_ZN12QVGImagePool15moveToHeadOfLRUEP13QVGPixmapData @ 180 NONAME
_ZN12QVGImagePool20createImageForPixmapE13VGImageFormatllmP13QVGPixmapData @ 181 NONAME
diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro
index 08c4829..08c4829 100755..100644
--- a/src/s60installs/s60installs.pro
+++ b/src/s60installs/s60installs.pro
diff --git a/src/sql/drivers/sqlite/qsql_sqlite.cpp b/src/sql/drivers/sqlite/qsql_sqlite.cpp
index 9fba6d6..38e4a63 100644
--- a/src/sql/drivers/sqlite/qsql_sqlite.cpp
+++ b/src/sql/drivers/sqlite/qsql_sqlite.cpp
@@ -104,6 +104,7 @@ class QSQLiteDriverPrivate
public:
inline QSQLiteDriverPrivate() : access(0) {}
sqlite3 *access;
+ QList <QSQLiteResult *> results;
};
@@ -286,10 +287,12 @@ QSQLiteResult::QSQLiteResult(const QSQLiteDriver* db)
{
d = new QSQLiteResultPrivate(this);
d->access = db->d->access;
+ db->d->results.append(this);
}
QSQLiteResult::~QSQLiteResult()
{
+ qobject_cast<const QSQLiteDriver *>(driver())->d->results.removeOne(this);
d->cleanup();
delete d;
}
@@ -322,12 +325,14 @@ bool QSQLiteResult::prepare(const QString &query)
setSelect(false);
+ const void *pzTail = NULL;
+
#if (SQLITE_VERSION_NUMBER >= 3003011)
int res = sqlite3_prepare16_v2(d->access, query.constData(), (query.size() + 1) * sizeof(QChar),
- &d->stmt, 0);
+ &d->stmt, &pzTail);
#else
int res = sqlite3_prepare16(d->access, query.constData(), (query.size() + 1) * sizeof(QChar),
- &d->stmt, 0);
+ &d->stmt, &pzTail);
#endif
if (res != SQLITE_OK) {
@@ -335,6 +340,11 @@ bool QSQLiteResult::prepare(const QString &query)
"Unable to execute statement"), QSqlError::StatementError, res));
d->finalize();
return false;
+ } else if (pzTail && !QString(reinterpret_cast<const QChar *>(pzTail)).trimmed().isEmpty()) {
+ setLastError(qMakeError(d->access, QCoreApplication::translate("QSQLiteResult",
+ "Unable to execute multiple statements at a time"), QSqlError::StatementError, SQLITE_MISUSE));
+ d->finalize();
+ return false;
}
return true;
}
@@ -546,6 +556,10 @@ bool QSQLiteDriver::open(const QString & db, const QString &, const QString &, c
void QSQLiteDriver::close()
{
if (isOpen()) {
+ foreach (QSQLiteResult *result, d->results) {
+ result->d->finalize();
+ }
+
if (sqlite3_close(d->access) != SQLITE_OK)
setLastError(qMakeError(d->access, tr("Error closing database"),
QSqlError::ConnectionError));
diff --git a/src/sql/kernel/qsqlquery.cpp b/src/sql/kernel/qsqlquery.cpp
index 361730a..753e4f8 100644
--- a/src/sql/kernel/qsqlquery.cpp
+++ b/src/sql/kernel/qsqlquery.cpp
@@ -338,6 +338,9 @@ bool QSqlQuery::isNull(int field) const
Note that the last error for this query is reset when exec() is
called.
+ For SQLite, the query string can contain only one statement at a time.
+ If more than one statements is give, the function returns false.
+
Example:
\snippet doc/src/snippets/sqldatabase/sqldatabase.cpp 34
@@ -887,6 +890,9 @@ void QSqlQuery::clear()
syntactically wrong query succeeds, but every consecutive exec()
will fail.
+ For SQLite, the query string can contain only one statement at a time.
+ If more than one statements are give, the function returns false.
+
Example:
\snippet doc/src/snippets/sqldatabase/sqldatabase.cpp 9
diff --git a/src/testlib/3rdparty/valgrind_p.h b/src/testlib/3rdparty/valgrind_p.h
index 6380a9f..70ba371 100644
--- a/src/testlib/3rdparty/valgrind_p.h
+++ b/src/testlib/3rdparty/valgrind_p.h
@@ -3703,8 +3703,8 @@ VALGRIND_PRINTF_BACKTRACE(const char *format, ...)
/* These requests allow control to move from the simulated CPU to the
- real CPU, calling an arbitary function.
-
+ real CPU, calling an arbitrary function.
+
Note that the current ThreadId is inserted as the first argument.
So this call:
diff --git a/src/testlib/qxmltestlogger.cpp b/src/testlib/qxmltestlogger.cpp
index 2c8ba6c..1cb221c 100644
--- a/src/testlib/qxmltestlogger.cpp
+++ b/src/testlib/qxmltestlogger.cpp
@@ -120,14 +120,14 @@ void QXmlTestLogger::startLogging()
QTest::qt_asprintf(&buf,
"<Environment>\n"
" <QtVersion>%s</QtVersion>\n"
- " <QTestVersion>"QTEST_VERSION_STR"</QTestVersion>\n"
+ " <QTestVersion>" QTEST_VERSION_STR "</QTestVersion>\n"
" <RandomSeed>%d</RandomSeed>\n"
"</Environment>\n", qVersion(), randomSeed);
} else {
QTest::qt_asprintf(&buf,
"<Environment>\n"
" <QtVersion>%s</QtVersion>\n"
- " <QTestVersion>"QTEST_VERSION_STR"</QTestVersion>\n"
+ " <QTestVersion>" QTEST_VERSION_STR "</QTestVersion>\n"
"</Environment>\n", qVersion());
}
outputString(buf.constData());
diff --git a/src/xml/dom/qdom.cpp b/src/xml/dom/qdom.cpp
index 7c7cafc..ccc6e8b 100644
--- a/src/xml/dom/qdom.cpp
+++ b/src/xml/dom/qdom.cpp
@@ -3487,10 +3487,10 @@ QDomDocumentTypePrivate::QDomDocumentTypePrivate(QDomDocumentTypePrivate* n, boo
QDomNodePrivate* p = first;
while (p) {
if (p->isEntity())
- // Dont use normal insert function since we would create infinite recursion
+ // Don't use normal insert function since we would create infinite recursion
entities->map.insertMulti(p->nodeName(), p);
if (p->isNotation())
- // Dont use normal insert function since we would create infinite recursion
+ // Don't use normal insert function since we would create infinite recursion
notations->map.insertMulti(p->nodeName(), p);
p = p->next;
}
@@ -5725,7 +5725,7 @@ static QByteArray encodeEntity(const QByteArray& str)
len += 4;
i += 5;
} else if (d[i] == '&' && i + 1 < len && d[i+1] == '#') {
- // Dont encode &lt; or &quot; or &custom;.
+ // Don't encode &lt; or &quot; or &custom;.
// Only encode character references
tmp.replace(i, 1, "&#38;");
d = tmp;