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:
parent
7ac97d7efb
commit
235d5dde5c
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user