Force alignment for SSE2 to not crash with mingw

Make sure that stacks are properly aligned by replacing CALLBACK with
QT_WIN_CALLBACK so that we don't crash in SSE2 code.

Task-number: QTBUG-36807

Change-Id: I6952d0f252c7b8e481c48521ed1377b7d7510e15
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Konstantin Ritt 2014-02-12 23:59:17 +02:00 committed by The Qt Project
parent 7ac97d7efb
commit 235d5dde5c
3 changed files with 6 additions and 6 deletions

View File

@ -648,7 +648,7 @@ struct FindDialogContext
HWND hwnd; // contains the HWND of the window found. HWND hwnd; // contains the HWND of the window found.
}; };
static BOOL CALLBACK findDialogEnumWindowsProc(HWND hwnd, LPARAM lParam) static BOOL QT_WIN_CALLBACK findDialogEnumWindowsProc(HWND hwnd, LPARAM lParam)
{ {
FindDialogContext *context = reinterpret_cast<FindDialogContext *>(lParam); FindDialogContext *context = reinterpret_cast<FindDialogContext *>(lParam);
DWORD winPid = 0; DWORD winPid = 0;
@ -1770,7 +1770,7 @@ void QWindowsXpNativeFileDialog::doExec(HWND owner)
// Callback for QWindowsNativeXpFileDialog directory dialog. // Callback for QWindowsNativeXpFileDialog directory dialog.
// MFC Directory Dialog. Contrib: Steve Williams (minor parts from Scott Powers) // MFC Directory Dialog. Contrib: Steve Williams (minor parts from Scott Powers)
static int CALLBACK xpFileDialogGetExistingDirCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData) static int QT_WIN_CALLBACK xpFileDialogGetExistingDirCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{ {
QWindowsXpNativeFileDialog *dialog = reinterpret_cast<QWindowsXpNativeFileDialog *>(lpData); QWindowsXpNativeFileDialog *dialog = reinterpret_cast<QWindowsXpNativeFileDialog *>(lpData);
return dialog->existingDirCallback(hwnd, uMsg, lParam); return dialog->existingDirCallback(hwnd, uMsg, lParam);

View File

@ -933,8 +933,8 @@ static bool addFontToDatabase(const QString &familyName, uchar charSet,
return true; return true;
} }
static int QT_ENSURE_STACK_ALIGNED_FOR_SSE CALLBACK static int QT_WIN_CALLBACK storeFont(ENUMLOGFONTEX* f, NEWTEXTMETRICEX *textmetric,
storeFont(ENUMLOGFONTEX* f, NEWTEXTMETRICEX *textmetric, int type, LPARAM namesSetIn) int type, LPARAM namesSetIn)
{ {
typedef QSet<QString> StringSet; typedef QSet<QString> StringSet;
const QString familyName = QString::fromWCharArray(f->elfLogFont.lfFaceName); const QString familyName = QString::fromWCharArray(f->elfLogFont.lfFaceName);

View File

@ -336,8 +336,8 @@ static QByteArray getFntTable(HFONT hfont, uint tag)
} }
#endif #endif
static int CALLBACK storeFont(ENUMLOGFONTEX* f, NEWTEXTMETRICEX *textmetric, static int QT_WIN_CALLBACK storeFont(ENUMLOGFONTEX* f, NEWTEXTMETRICEX *textmetric,
int type, LPARAM namesSetIn) int type, LPARAM namesSetIn)
{ {
typedef QSet<QString> StringSet; typedef QSet<QString> StringSet;
const QString familyName = QString::fromWCharArray(f->elfLogFont.lfFaceName) const QString familyName = QString::fromWCharArray(f->elfLogFont.lfFaceName)