summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorShane Kearns <shane.kearns@sosco.com>2009-11-11 12:49:35 (GMT)
committerShane Kearns <shane.kearns@sosco.com>2009-11-11 12:49:35 (GMT)
commitb6a8a81ef6b5f7a0270b958b5707da5d7e104bb7 (patch)
tree48f2edd702fa97ca84d82d49ebc6f22fdb8afef5 /src/corelib
parenta8b5418c70e0e2d3b4f9dc25c1383a78c4da8f22 (diff)
parent3a492b3bcd3898335dd36b46906a5b9cce5120f3 (diff)
downloadQt-b6a8a81ef6b5f7a0270b958b5707da5d7e104bb7.zip
Qt-b6a8a81ef6b5f7a0270b958b5707da5d7e104bb7.tar.gz
Qt-b6a8a81ef6b5f7a0270b958b5707da5d7e104bb7.tar.bz2
Merge commit 'origin/4.6' into 4.6
Overwrite DEF files with the ones I froze against 4.6.0 RC this morning Conflicts: src/s60installs/bwins/QtCoreu.def src/s60installs/bwins/QtGuiu.def src/s60installs/bwins/QtMultimediau.def src/s60installs/bwins/QtScriptu.def src/s60installs/bwins/QtWebKitu.def src/s60installs/eabi/QtCoreu.def src/s60installs/eabi/QtGuiu.def src/s60installs/eabi/QtMultimediau.def src/s60installs/eabi/QtScriptu.def src/s60installs/eabi/QtWebKitu.def
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/kernel/qeventdispatcher_win.cpp14
-rw-r--r--src/corelib/kernel/qfunctions_wince.h4
2 files changed, 15 insertions, 3 deletions
diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp
index f2e66c5..3050b82 100644
--- a/src/corelib/kernel/qeventdispatcher_win.cpp
+++ b/src/corelib/kernel/qeventdispatcher_win.cpp
@@ -70,7 +70,8 @@ extern uint qGlobalPostedEventsCount();
enum {
WM_QT_SOCKETNOTIFIER = WM_USER,
- WM_QT_SENDPOSTEDEVENTS = WM_USER + 1
+ WM_QT_SENDPOSTEDEVENTS = WM_USER + 1,
+ SendPostedEventsTimerId = ~1u
};
#if defined(Q_OS_WINCE)
@@ -470,7 +471,7 @@ LRESULT CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPARAM lp)
}
return 0;
} else if (message == WM_TIMER) {
- if (wp == ~1u) {
+ if (wp == SendPostedEventsTimerId) {
KillTimer(d->internalHwnd, wp);
int localSerialNumber = d->serialNumber;
(void) d->wakeUps.fetchAndStoreRelease(0);
@@ -488,7 +489,14 @@ LRESULT CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPARAM lp)
if (GetQueueStatus(QS_INPUT | QS_RAWINPUT | QS_TIMER) != 0) {
// delay the next pass of sendPostedEvents() until we get the special
// WM_TIMER, which allows all pending Windows messages to be processed
- SetTimer(d->internalHwnd, ~1u, 0, 0);
+ if (SetTimer(d->internalHwnd, SendPostedEventsTimerId, 0, 0) == 0) {
+ // failed to start the timer, oops, clear wakeUps in an attempt to keep things running
+ qErrnoWarning("Qt: INTERNAL ERROR: failed to start sendPostedEvents() timer");
+ d->wakeUps.fetchAndStoreRelease(0);
+ } else {
+ // SetTimer() succeeded, nothing to do now
+ ;
+ }
} else {
// nothing pending in the queue, let sendPostedEvents go through
d->wakeUps.fetchAndStoreRelease(0);
diff --git a/src/corelib/kernel/qfunctions_wince.h b/src/corelib/kernel/qfunctions_wince.h
index f7ca195..ad9d3a1 100644
--- a/src/corelib/kernel/qfunctions_wince.h
+++ b/src/corelib/kernel/qfunctions_wince.h
@@ -192,7 +192,11 @@ int qt_wince__rmdir(const char *dirname);
int qt_wince__access( const char *path, int pmode );
int qt_wince__rename( const char *oldname, const char *newname );
int qt_wince__remove( const char *name );
+#ifdef __cplusplus
+int qt_wince_open( const char *filename, int oflag, int pmode = 0 );
+#else
int qt_wince_open( const char *filename, int oflag, int pmode );
+#endif
int qt_wince_stat( const char *path, struct stat *buffer );
int qt_wince__fstat( int handle, struct stat *buffer);