summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r--src/plugins/platforms/cocoa/qcocoaaccessibilityelement.mm5
-rw-r--r--src/plugins/platforms/cocoa/qcocoaclipboard.mm4
-rw-r--r--src/plugins/platforms/cocoa/qcocoadrag.mm8
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.mm4
-rw-r--r--src/plugins/platforms/cocoa/qcocoanativeinterface.mm4
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm9
-rw-r--r--src/plugins/platforms/cocoa/qmacclipboard.h4
-rw-r--r--src/plugins/platforms/cocoa/qmacclipboard.mm20
-rw-r--r--src/plugins/platforms/cocoa/qmacmime.h14
-rw-r--r--src/plugins/platforms/cocoa/qmacmime.mm60
-rw-r--r--src/plugins/platforms/cocoa/qt_mac_p.h2
-rw-r--r--src/plugins/platforms/ios/qiosinputcontext.mm2
-rw-r--r--src/plugins/platforms/ios/qiosintegration.mm2
-rw-r--r--src/plugins/platforms/kms/qkmscursor.h4
-rw-r--r--src/plugins/platforms/kms/qkmsdevice.h2
-rw-r--r--src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp5
-rw-r--r--src/plugins/platforms/linuxfb/qlinuxfbintegration.h1
-rw-r--r--src/plugins/platforms/qnx/qqnxwindow.cpp31
-rw-r--r--src/plugins/platforms/windows/qwindowsfontdatabase.cpp3
-rw-r--r--src/plugins/platforms/windows/qwindowsfontdatabase_ft.cpp3
-rw-r--r--src/plugins/platforms/windows/qwindowskeymapper.cpp7
21 files changed, 104 insertions, 90 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoaaccessibilityelement.mm b/src/plugins/platforms/cocoa/qcocoaaccessibilityelement.mm
index 8e20a96a48..66c7727f15 100644
--- a/src/plugins/platforms/cocoa/qcocoaaccessibilityelement.mm
+++ b/src/plugins/platforms/cocoa/qcocoaaccessibilityelement.mm
@@ -240,7 +240,10 @@
// misc
- (BOOL)accessibilityIsIgnored {
- return QCocoaAccessible::shouldBeIgnored(QAccessible::accessibleInterface(axid));
+ QAccessibleInterface *iface = QAccessible::accessibleInterface(axid);
+ if (!iface || !iface->isValid())
+ return true;
+ return QCocoaAccessible::shouldBeIgnored(iface);
}
- (id)accessibilityHitTest:(NSPoint)point {
diff --git a/src/plugins/platforms/cocoa/qcocoaclipboard.mm b/src/plugins/platforms/cocoa/qcocoaclipboard.mm
index daeebcb078..a49ff902a5 100644
--- a/src/plugins/platforms/cocoa/qcocoaclipboard.mm
+++ b/src/plugins/platforms/cocoa/qcocoaclipboard.mm
@@ -46,8 +46,8 @@
QT_BEGIN_NAMESPACE
QCocoaClipboard::QCocoaClipboard()
- :m_clipboard(new QMacPasteboard(kPasteboardClipboard, QMacPasteboardMime::MIME_CLIP))
- ,m_find(new QMacPasteboard(kPasteboardFind, QMacPasteboardMime::MIME_CLIP))
+ :m_clipboard(new QMacPasteboard(kPasteboardClipboard, QMacInternalPasteboardMime::MIME_CLIP))
+ ,m_find(new QMacPasteboard(kPasteboardFind, QMacInternalPasteboardMime::MIME_CLIP))
{
}
diff --git a/src/plugins/platforms/cocoa/qcocoadrag.mm b/src/plugins/platforms/cocoa/qcocoadrag.mm
index a22830f64e..5d7f53ee5d 100644
--- a/src/plugins/platforms/cocoa/qcocoadrag.mm
+++ b/src/plugins/platforms/cocoa/qcocoadrag.mm
@@ -131,7 +131,7 @@ Qt::DropAction QCocoaDrag::drag(QDrag *o)
NSImage *nsimage = qt_mac_create_nsimage(pm);
- QMacPasteboard dragBoard((CFStringRef) NSDragPboard, QMacPasteboardMime::MIME_DND);
+ QMacPasteboard dragBoard((CFStringRef) NSDragPboard, QMacInternalPasteboardMime::MIME_DND);
m_drag->mimeData()->setData(QLatin1String("application/x-qt-mime-type-name"), QByteArray("dummy"));
dragBoard.setMimeData(m_drag->mimeData());
@@ -181,7 +181,7 @@ QStringList QCocoaDropData::formats_sys() const
qDebug("DnD: Cannot get PasteBoard!");
return formats;
}
- formats = QMacPasteboard(board, QMacPasteboardMime::MIME_DND).formats();
+ formats = QMacPasteboard(board, QMacInternalPasteboardMime::MIME_DND).formats();
return formats;
}
@@ -193,7 +193,7 @@ QVariant QCocoaDropData::retrieveData_sys(const QString &mimeType, QVariant::Typ
qDebug("DnD: Cannot get PasteBoard!");
return data;
}
- data = QMacPasteboard(board, QMacPasteboardMime::MIME_DND).retrieveData(mimeType, type);
+ data = QMacPasteboard(board, QMacInternalPasteboardMime::MIME_DND).retrieveData(mimeType, type);
CFRelease(board);
return data;
}
@@ -206,7 +206,7 @@ bool QCocoaDropData::hasFormat_sys(const QString &mimeType) const
qDebug("DnD: Cannot get PasteBoard!");
return has;
}
- has = QMacPasteboard(board, QMacPasteboardMime::MIME_DND).hasFormat(mimeType);
+ has = QMacPasteboard(board, QMacInternalPasteboardMime::MIME_DND).hasFormat(mimeType);
CFRelease(board);
return has;
}
diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm
index 0af635be6f..5f01274d98 100644
--- a/src/plugins/platforms/cocoa/qcocoaintegration.mm
+++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm
@@ -268,7 +268,7 @@ QCocoaIntegration::QCocoaIntegration()
updateScreens();
- QMacPasteboardMime::initializeMimeTypes();
+ QMacInternalPasteboardMime::initializeMimeTypes();
}
QCocoaIntegration::~QCocoaIntegration()
@@ -288,7 +288,7 @@ QCocoaIntegration::~QCocoaIntegration()
// Deleting the clipboard integration flushes promised pastes using
// the mime converters - the ordering here is important.
delete mCocoaClipboard;
- QMacPasteboardMime::destroyMimeTypes();
+ QMacInternalPasteboardMime::destroyMimeTypes();
// Delete screens in reverse order to avoid crash in case of multiple screens
while (!mScreens.isEmpty()) {
diff --git a/src/plugins/platforms/cocoa/qcocoanativeinterface.mm b/src/plugins/platforms/cocoa/qcocoanativeinterface.mm
index 972c171f69..795d1a8149 100644
--- a/src/plugins/platforms/cocoa/qcocoanativeinterface.mm
+++ b/src/plugins/platforms/cocoa/qcocoanativeinterface.mm
@@ -207,12 +207,12 @@ void *QCocoaNativeInterface::nsOpenGLContextForContext(QOpenGLContext* context)
void QCocoaNativeInterface::addToMimeList(void *macPasteboardMime)
{
- qt_mac_addToGlobalMimeList(reinterpret_cast<QMacPasteboardMime *>(macPasteboardMime));
+ qt_mac_addToGlobalMimeList(reinterpret_cast<QMacInternalPasteboardMime *>(macPasteboardMime));
}
void QCocoaNativeInterface::removeFromMimeList(void *macPasteboardMime)
{
- qt_mac_removeFromGlobalMimeList(reinterpret_cast<QMacPasteboardMime *>(macPasteboardMime));
+ qt_mac_removeFromGlobalMimeList(reinterpret_cast<QMacInternalPasteboardMime *>(macPasteboardMime));
}
void QCocoaNativeInterface::registerDraggedTypes(const QStringList &types)
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index a2ef43db67..ad11a525ad 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -942,10 +942,11 @@ void QCocoaWindow::setNSWindow(NSWindow *window)
[window setReleasedWhenClosed : NO];
- [[NSNotificationCenter defaultCenter] addObserver:m_contentView
- selector:@selector(windowNotification:)
- name:nil // Get all notifications
- object:m_nsWindow];
+ if (m_qtView)
+ [[NSNotificationCenter defaultCenter] addObserver:m_qtView
+ selector:@selector(windowNotification:)
+ name:nil // Get all notifications
+ object:m_nsWindow];
[m_contentView setPostsFrameChangedNotifications: NO];
[window setContentView:m_contentView];
diff --git a/src/plugins/platforms/cocoa/qmacclipboard.h b/src/plugins/platforms/cocoa/qmacclipboard.h
index 4eeeecc0c0..d8e588e36b 100644
--- a/src/plugins/platforms/cocoa/qmacclipboard.h
+++ b/src/plugins/platforms/cocoa/qmacclipboard.h
@@ -55,9 +55,9 @@ class QMacPasteboard
{
struct Promise {
Promise() : itemId(0), convertor(0) { }
- Promise(int itemId, QMacPasteboardMime *c, QString m, QVariant d, int o=0) : itemId(itemId), offset(o), convertor(c), mime(m), data(d) { }
+ Promise(int itemId, QMacInternalPasteboardMime *c, QString m, QVariant d, int o=0) : itemId(itemId), offset(o), convertor(c), mime(m), data(d) { }
int itemId, offset;
- QMacPasteboardMime *convertor;
+ QMacInternalPasteboardMime *convertor;
QString mime;
QVariant data;
};
diff --git a/src/plugins/platforms/cocoa/qmacclipboard.mm b/src/plugins/platforms/cocoa/qmacclipboard.mm
index b5c50d676f..9ccf41fbf4 100644
--- a/src/plugins/platforms/cocoa/qmacclipboard.mm
+++ b/src/plugins/platforms/cocoa/qmacclipboard.mm
@@ -68,7 +68,7 @@ QT_BEGIN_NAMESPACE
QMacPasteboard::QMacPasteboard(PasteboardRef p, uchar mt)
{
mac_mime_source = false;
- mime_type = mt ? mt : uchar(QMacPasteboardMime::MIME_ALL);
+ mime_type = mt ? mt : uchar(QMacInternalPasteboardMime::MIME_ALL);
paste = p;
CFRetain(paste);
}
@@ -76,7 +76,7 @@ QMacPasteboard::QMacPasteboard(PasteboardRef p, uchar mt)
QMacPasteboard::QMacPasteboard(uchar mt)
{
mac_mime_source = false;
- mime_type = mt ? mt : uchar(QMacPasteboardMime::MIME_ALL);
+ mime_type = mt ? mt : uchar(QMacInternalPasteboardMime::MIME_ALL);
paste = 0;
OSStatus err = PasteboardCreate(0, &paste);
if (err == noErr) {
@@ -89,7 +89,7 @@ QMacPasteboard::QMacPasteboard(uchar mt)
QMacPasteboard::QMacPasteboard(CFStringRef name, uchar mt)
{
mac_mime_source = false;
- mime_type = mt ? mt : uchar(QMacPasteboardMime::MIME_ALL);
+ mime_type = mt ? mt : uchar(QMacInternalPasteboardMime::MIME_ALL);
paste = 0;
OSStatus err = PasteboardCreate(name, &paste);
if (err == noErr) {
@@ -287,7 +287,7 @@ QMacPasteboard::setMimeData(QMimeData *mime_src)
delete mime;
mime = mime_src;
- QList<QMacPasteboardMime*> availableConverters = QMacPasteboardMime::all(mime_type);
+ QList<QMacInternalPasteboardMime*> availableConverters = QMacInternalPasteboardMime::all(mime_type);
if (mime != 0) {
clear_helper();
QStringList formats = mime_src->formats();
@@ -304,8 +304,8 @@ QMacPasteboard::setMimeData(QMimeData *mime_src)
}
for (int f = 0; f < formats.size(); ++f) {
QString mimeType = formats.at(f);
- for (QList<QMacPasteboardMime *>::Iterator it = availableConverters.begin(); it != availableConverters.end(); ++it) {
- QMacPasteboardMime *c = (*it);
+ for (QList<QMacInternalPasteboardMime *>::Iterator it = availableConverters.begin(); it != availableConverters.end(); ++it) {
+ QMacInternalPasteboardMime *c = (*it);
QString flavor(c->flavorFor(mimeType));
if (!flavor.isEmpty()) {
QVariant mimeData = static_cast<QMacMimeData*>(mime_src)->variantData(mimeType);
@@ -358,7 +358,7 @@ QMacPasteboard::formats() const
#ifdef DEBUG_PASTEBOARD
qDebug(" -%s", qPrintable(QString(flavor)));
#endif
- QString mimeType = QMacPasteboardMime::flavorToMime(mime_type, flavor);
+ QString mimeType = QMacInternalPasteboardMime::flavorToMime(mime_type, flavor);
if (!mimeType.isEmpty() && !ret.contains(mimeType)) {
#ifdef DEBUG_PASTEBOARD
qDebug(" -<%d> %s [%s]", ret.size(), qPrintable(mimeType), qPrintable(QString(flavor)));
@@ -401,7 +401,7 @@ QMacPasteboard::hasFormat(const QString &format) const
#ifdef DEBUG_PASTEBOARD
qDebug(" -%s [0x%x]", qPrintable(QString(flavor)), mime_type);
#endif
- QString mimeType = QMacPasteboardMime::flavorToMime(mime_type, flavor);
+ QString mimeType = QMacInternalPasteboardMime::flavorToMime(mime_type, flavor);
#ifdef DEBUG_PASTEBOARD
if (!mimeType.isEmpty())
qDebug(" - %s", qPrintable(mimeType));
@@ -428,9 +428,9 @@ QMacPasteboard::retrieveData(const QString &format, QVariant::Type) const
#ifdef DEBUG_PASTEBOARD
qDebug("Pasteboard: retrieveData [%s]", qPrintable(format));
#endif
- const QList<QMacPasteboardMime *> mimes = QMacPasteboardMime::all(mime_type);
+ const QList<QMacInternalPasteboardMime *> mimes = QMacInternalPasteboardMime::all(mime_type);
for (int mime = 0; mime < mimes.size(); ++mime) {
- QMacPasteboardMime *c = mimes.at(mime);
+ QMacInternalPasteboardMime *c = mimes.at(mime);
QString c_flavor = c->flavorFor(format);
if (!c_flavor.isEmpty()) {
// Handle text/plain a little differently. Try handling Unicode first.
diff --git a/src/plugins/platforms/cocoa/qmacmime.h b/src/plugins/platforms/cocoa/qmacmime.h
index d9ef63ae48..0802987fab 100644
--- a/src/plugins/platforms/cocoa/qmacmime.h
+++ b/src/plugins/platforms/cocoa/qmacmime.h
@@ -49,7 +49,7 @@
QT_BEGIN_NAMESPACE
// Duplicate of QMacPasteboardMime in QtMacExtras. Keep in sync!
-class QMacPasteboardMime {
+class QMacInternalPasteboardMime {
char type;
public:
enum QMacPasteboardMimeType { MIME_DND=0x01,
@@ -58,14 +58,14 @@ public:
MIME_QT3_CONVERTOR=0x08,
MIME_ALL=MIME_DND|MIME_CLIP
};
- explicit QMacPasteboardMime(char);
- virtual ~QMacPasteboardMime();
+ explicit QMacInternalPasteboardMime(char);
+ virtual ~QMacInternalPasteboardMime();
static void initializeMimeTypes();
static void destroyMimeTypes();
- static QList<QMacPasteboardMime*> all(uchar);
- static QMacPasteboardMime *convertor(uchar, const QString &mime, QString flav);
+ static QList<QMacInternalPasteboardMime*> all(uchar);
+ static QMacInternalPasteboardMime *convertor(uchar, const QString &mime, QString flav);
static QString flavorToMime(uchar, QString flav);
virtual QString convertorName() = 0;
@@ -78,8 +78,8 @@ public:
virtual int count(QMimeData *mimeData);
};
-void qt_mac_addToGlobalMimeList(QMacPasteboardMime *macMime);
-void qt_mac_removeFromGlobalMimeList(QMacPasteboardMime *macMime);
+void qt_mac_addToGlobalMimeList(QMacInternalPasteboardMime *macMime);
+void qt_mac_removeFromGlobalMimeList(QMacInternalPasteboardMime *macMime);
void qt_mac_registerDraggedTypes(const QStringList &types);
const QStringList& qt_mac_enabledDraggedTypes();
diff --git a/src/plugins/platforms/cocoa/qmacmime.mm b/src/plugins/platforms/cocoa/qmacmime.mm
index b4634c8ad8..89d1b5f681 100644
--- a/src/plugins/platforms/cocoa/qmacmime.mm
+++ b/src/plugins/platforms/cocoa/qmacmime.mm
@@ -62,11 +62,11 @@ QT_BEGIN_NAMESPACE
extern CGImageRef qt_mac_createCGImageFromQImage(const QImage &img, const QImage **imagePtr = 0); // qpaintengine_mac.cpp
-typedef QList<QMacPasteboardMime*> MimeList;
+typedef QList<QMacInternalPasteboardMime*> MimeList;
Q_GLOBAL_STATIC(MimeList, globalMimeList)
Q_GLOBAL_STATIC(QStringList, globalDraggedTypesList)
-void qt_mac_addToGlobalMimeList(QMacPasteboardMime *macMime)
+void qt_mac_addToGlobalMimeList(QMacInternalPasteboardMime *macMime)
{
// globalMimeList is in decreasing priority order. Recently added
// converters take prioity over previously added converters: prepend
@@ -74,7 +74,7 @@ void qt_mac_addToGlobalMimeList(QMacPasteboardMime *macMime)
globalMimeList()->prepend(macMime);
}
-void qt_mac_removeFromGlobalMimeList(QMacPasteboardMime *macMime)
+void qt_mac_removeFromGlobalMimeList(QMacInternalPasteboardMime *macMime)
{
if (!QGuiApplication::closingDown())
globalMimeList()->removeAll(macMime);
@@ -166,7 +166,7 @@ CFStringRef qt_mac_mime_typeUTI = CFSTR("com.pasteboard.trolltech.marker");
Constructs a new conversion object of type \a t, adding it to the
globally accessed list of available convertors.
*/
-QMacPasteboardMime::QMacPasteboardMime(char t) : type(t)
+QMacInternalPasteboardMime::QMacInternalPasteboardMime(char t) : type(t)
{
qt_mac_addToGlobalMimeList(this);
}
@@ -175,7 +175,7 @@ QMacPasteboardMime::QMacPasteboardMime(char t) : type(t)
Destroys a conversion object, removing it from the global
list of available convertors.
*/
-QMacPasteboardMime::~QMacPasteboardMime()
+QMacInternalPasteboardMime::~QMacInternalPasteboardMime()
{
qt_mac_removeFromGlobalMimeList(this);
}
@@ -183,17 +183,17 @@ QMacPasteboardMime::~QMacPasteboardMime()
/*!
Returns the item count for the given \a mimeData
*/
-int QMacPasteboardMime::count(QMimeData *mimeData)
+int QMacInternalPasteboardMime::count(QMimeData *mimeData)
{
Q_UNUSED(mimeData);
return 1;
}
-class QMacPasteboardMimeAny : public QMacPasteboardMime {
+class QMacPasteboardMimeAny : public QMacInternalPasteboardMime {
private:
public:
- QMacPasteboardMimeAny() : QMacPasteboardMime(MIME_QT_CONVERTOR|MIME_ALL) {
+ QMacPasteboardMimeAny() : QMacInternalPasteboardMime(MIME_QT_CONVERTOR|MIME_ALL) {
}
~QMacPasteboardMimeAny() {
}
@@ -255,11 +255,11 @@ QList<QByteArray> QMacPasteboardMimeAny::convertFromMime(const QString &mime, QV
return ret;
}
-class QMacPasteboardMimeTypeName : public QMacPasteboardMime {
+class QMacPasteboardMimeTypeName : public QMacInternalPasteboardMime {
private:
public:
- QMacPasteboardMimeTypeName() : QMacPasteboardMime(MIME_QT_CONVERTOR|MIME_ALL) {
+ QMacPasteboardMimeTypeName() : QMacInternalPasteboardMime(MIME_QT_CONVERTOR|MIME_ALL) {
}
~QMacPasteboardMimeTypeName() {
}
@@ -307,9 +307,9 @@ QList<QByteArray> QMacPasteboardMimeTypeName::convertFromMime(const QString &, Q
return ret;
}
-class QMacPasteboardMimePlainText : public QMacPasteboardMime {
+class QMacPasteboardMimePlainText : public QMacInternalPasteboardMime {
public:
- QMacPasteboardMimePlainText() : QMacPasteboardMime(MIME_ALL) { }
+ QMacPasteboardMimePlainText() : QMacInternalPasteboardMime(MIME_ALL) { }
QString convertorName();
QString flavorFor(const QString &mime);
@@ -369,9 +369,9 @@ QList<QByteArray> QMacPasteboardMimePlainText::convertFromMime(const QString &,
return ret;
}
-class QMacPasteboardMimeUnicodeText : public QMacPasteboardMime {
+class QMacPasteboardMimeUnicodeText : public QMacInternalPasteboardMime {
public:
- QMacPasteboardMimeUnicodeText() : QMacPasteboardMime(MIME_ALL) { }
+ QMacPasteboardMimeUnicodeText() : QMacInternalPasteboardMime(MIME_ALL) { }
QString convertorName();
QString flavorFor(const QString &mime);
@@ -449,9 +449,9 @@ QList<QByteArray> QMacPasteboardMimeUnicodeText::convertFromMime(const QString &
return ret;
}
-class QMacPasteboardMimeHTMLText : public QMacPasteboardMime {
+class QMacPasteboardMimeHTMLText : public QMacInternalPasteboardMime {
public:
- QMacPasteboardMimeHTMLText() : QMacPasteboardMime(MIME_ALL) { }
+ QMacPasteboardMimeHTMLText() : QMacInternalPasteboardMime(MIME_ALL) { }
QString convertorName();
QString flavorFor(const QString &mime);
@@ -503,9 +503,9 @@ QList<QByteArray> QMacPasteboardMimeHTMLText::convertFromMime(const QString &mim
return ret;
}
-class QMacPasteboardMimeTiff : public QMacPasteboardMime {
+class QMacPasteboardMimeTiff : public QMacInternalPasteboardMime {
public:
- QMacPasteboardMimeTiff() : QMacPasteboardMime(MIME_ALL) { }
+ QMacPasteboardMimeTiff() : QMacInternalPasteboardMime(MIME_ALL) { }
QString convertorName();
QString flavorFor(const QString &mime);
@@ -595,9 +595,9 @@ QList<QByteArray> QMacPasteboardMimeTiff::convertFromMime(const QString &mime, Q
}
-class QMacPasteboardMimeFileUri : public QMacPasteboardMime {
+class QMacPasteboardMimeFileUri : public QMacInternalPasteboardMime {
public:
- QMacPasteboardMimeFileUri() : QMacPasteboardMime(MIME_ALL) { }
+ QMacPasteboardMimeFileUri() : QMacInternalPasteboardMime(MIME_ALL) { }
QString convertorName();
QString flavorFor(const QString &mime);
@@ -673,9 +673,9 @@ int QMacPasteboardMimeFileUri::count(QMimeData *mimeData)
return mimeData->urls().count();
}
-class QMacPasteboardMimeUrl : public QMacPasteboardMime {
+class QMacPasteboardMimeUrl : public QMacInternalPasteboardMime {
public:
- QMacPasteboardMimeUrl() : QMacPasteboardMime(MIME_ALL) { }
+ QMacPasteboardMimeUrl() : QMacInternalPasteboardMime(MIME_ALL) { }
QString convertorName();
QString flavorFor(const QString &mime);
@@ -747,10 +747,10 @@ QList<QByteArray> QMacPasteboardMimeUrl::convertFromMime(const QString &mime, QV
return ret;
}
-class QMacPasteboardMimeVCard : public QMacPasteboardMime
+class QMacPasteboardMimeVCard : public QMacInternalPasteboardMime
{
public:
- QMacPasteboardMimeVCard() : QMacPasteboardMime(MIME_ALL){ }
+ QMacPasteboardMimeVCard() : QMacInternalPasteboardMime(MIME_ALL){ }
QString convertorName();
QString flavorFor(const QString &mime);
@@ -808,7 +808,7 @@ QList<QByteArray> QMacPasteboardMimeVCard::convertFromMime(const QString &mime,
This is an internal function.
*/
-void QMacPasteboardMime::initializeMimeTypes()
+void QMacInternalPasteboardMime::initializeMimeTypes()
{
if (globalMimeList()->isEmpty()) {
// Create QMacPasteboardMimeAny first to put it at the end of globalMimeList
@@ -830,7 +830,7 @@ void QMacPasteboardMime::initializeMimeTypes()
/*!
\internal
*/
-void QMacPasteboardMime::destroyMimeTypes()
+void QMacInternalPasteboardMime::destroyMimeTypes()
{
MimeList *mimes = globalMimeList();
while (!mimes->isEmpty())
@@ -842,8 +842,8 @@ void QMacPasteboardMime::destroyMimeTypes()
between the \a mime and \a flav formats. Returns 0 if no such convertor
exists.
*/
-QMacPasteboardMime*
-QMacPasteboardMime::convertor(uchar t, const QString &mime, QString flav)
+QMacInternalPasteboardMime*
+QMacInternalPasteboardMime::convertor(uchar t, const QString &mime, QString flav)
{
MimeList *mimes = globalMimeList();
for (MimeList::const_iterator it = mimes->constBegin(); it != mimes->constEnd(); ++it) {
@@ -868,7 +868,7 @@ QMacPasteboardMime::convertor(uchar t, const QString &mime, QString flav)
/*!
Returns a MIME type of type \a t for \a flav, or 0 if none exists.
*/
-QString QMacPasteboardMime::flavorToMime(uchar t, QString flav)
+QString QMacInternalPasteboardMime::flavorToMime(uchar t, QString flav)
{
MimeList *mimes = globalMimeList();
for (MimeList::const_iterator it = mimes->constBegin(); it != mimes->constEnd(); ++it) {
@@ -891,7 +891,7 @@ QString QMacPasteboardMime::flavorToMime(uchar t, QString flav)
/*!
Returns a list of all currently defined QMacPasteboardMime objects of type \a t.
*/
-QList<QMacPasteboardMime*> QMacPasteboardMime::all(uchar t)
+QList<QMacInternalPasteboardMime*> QMacInternalPasteboardMime::all(uchar t)
{
MimeList ret;
MimeList *mimes = globalMimeList();
diff --git a/src/plugins/platforms/cocoa/qt_mac_p.h b/src/plugins/platforms/cocoa/qt_mac_p.h
index 808ca9194b..581157c2e1 100644
--- a/src/plugins/platforms/cocoa/qt_mac_p.h
+++ b/src/plugins/platforms/cocoa/qt_mac_p.h
@@ -178,7 +178,7 @@ public:
}
};
-class QMacPasteboardMime;
+class QMacInternalPasteboardMime;
class QMimeData;
diff --git a/src/plugins/platforms/ios/qiosinputcontext.mm b/src/plugins/platforms/ios/qiosinputcontext.mm
index ea6a0bd4a6..39a22f367e 100644
--- a/src/plugins/platforms/ios/qiosinputcontext.mm
+++ b/src/plugins/platforms/ios/qiosinputcontext.mm
@@ -150,7 +150,7 @@
m_keyboardEndRect = [self getKeyboardRect:notification];
if (!m_duration) {
m_duration = [notification.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];
- m_curve = [notification.userInfo[UIKeyboardAnimationCurveUserInfoKey] integerValue] << 16;
+ m_curve = UIViewAnimationCurve([notification.userInfo[UIKeyboardAnimationCurveUserInfoKey] integerValue] << 16);
}
m_context->scrollRootView();
}
diff --git a/src/plugins/platforms/ios/qiosintegration.mm b/src/plugins/platforms/ios/qiosintegration.mm
index 5c8f67bda2..660da6397f 100644
--- a/src/plugins/platforms/ios/qiosintegration.mm
+++ b/src/plugins/platforms/ios/qiosintegration.mm
@@ -110,6 +110,8 @@ bool QIOSIntegration::hasCapability(Capability cap) const
return true;
case MultipleWindows:
return true;
+ case WindowManagement:
+ return false;
case ApplicationState:
return true;
default:
diff --git a/src/plugins/platforms/kms/qkmscursor.h b/src/plugins/platforms/kms/qkmscursor.h
index ee65b01e36..91ac10aae5 100644
--- a/src/plugins/platforms/kms/qkmscursor.h
+++ b/src/plugins/platforms/kms/qkmscursor.h
@@ -47,8 +47,8 @@
QT_BEGIN_NAMESPACE
class QKmsScreen;
-class gbm_device;
-class gbm_bo;
+struct gbm_device;
+struct gbm_bo;
class QKmsCursor : public QPlatformCursor
{
diff --git a/src/plugins/platforms/kms/qkmsdevice.h b/src/plugins/platforms/kms/qkmsdevice.h
index 33bb4e814e..906e00aa13 100644
--- a/src/plugins/platforms/kms/qkmsdevice.h
+++ b/src/plugins/platforms/kms/qkmsdevice.h
@@ -53,7 +53,7 @@ extern "C" {
QT_BEGIN_NAMESPACE
-class gbm_device;
+struct gbm_device;
class QKmsIntegration;
class QKmsDevice : public QObject
diff --git a/src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp b/src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp
index 977df8abd0..53f48d5480 100644
--- a/src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp
+++ b/src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp
@@ -57,7 +57,6 @@ QLinuxFbIntegration::QLinuxFbIntegration(const QStringList &paramList)
: m_fontDb(new QGenericUnixFontDatabase())
{
m_primaryScreen = new QLinuxFbScreen(paramList);
- screenAdded(m_primaryScreen);
}
QLinuxFbIntegration::~QLinuxFbIntegration()
@@ -67,7 +66,9 @@ QLinuxFbIntegration::~QLinuxFbIntegration()
void QLinuxFbIntegration::initialize()
{
- if (!m_primaryScreen->initialize())
+ if (m_primaryScreen->initialize())
+ screenAdded(m_primaryScreen);
+ else
qWarning("linuxfb: Failed to initialize screen");
}
diff --git a/src/plugins/platforms/linuxfb/qlinuxfbintegration.h b/src/plugins/platforms/linuxfb/qlinuxfbintegration.h
index a213f83c6f..965a6e4642 100644
--- a/src/plugins/platforms/linuxfb/qlinuxfbintegration.h
+++ b/src/plugins/platforms/linuxfb/qlinuxfbintegration.h
@@ -70,6 +70,7 @@ public:
private:
QLinuxFbScreen *m_primaryScreen;
QPlatformFontDatabase *m_fontDb;
+
};
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/qnx/qqnxwindow.cpp b/src/plugins/platforms/qnx/qqnxwindow.cpp
index ee539e9aed..9f8c93cce1 100644
--- a/src/plugins/platforms/qnx/qqnxwindow.cpp
+++ b/src/plugins/platforms/qnx/qqnxwindow.cpp
@@ -323,6 +323,26 @@ void QQnxWindow::setBufferSize(const QSize &size)
}
}
+ // Set the transparency. According to QNX technical support, setting the window
+ // transparency property should always be done *after* creating the window
+ // buffers in order to guarantee the property is paid attention to.
+ if (window()->requestedFormat().alphaBufferSize() == 0) {
+ // To avoid overhead in the composition manager, disable blending
+ // when the underlying window buffer doesn't have an alpha channel.
+ val[0] = SCREEN_TRANSPARENCY_NONE;
+ } else {
+ // Normal alpha blending. This doesn't commit us to translucency; the
+ // normal backfill during the painting will contain a fully opaque
+ // alpha channel unless the user explicitly intervenes to make something
+ // transparent.
+ val[0] = SCREEN_TRANSPARENCY_SOURCE_OVER;
+ }
+
+ errno = 0;
+ result = screen_set_window_property_iv(m_window, SCREEN_PROPERTY_TRANSPARENCY, val);
+ if (result != 0)
+ qFatal("QQnxWindow: failed to set window transparency, errno=%d", errno);
+
// Cache new buffer size
m_bufferSize = nonEmptySize;
resetBuffers();
@@ -551,17 +571,6 @@ void QQnxWindow::initWindow()
if (result != 0)
qFatal("QQnxWindow: failed to set window alpha mode, errno=%d", errno);
- // Blend the window with Source Over Porter-Duff behavior onto whatever's
- // behind it.
- //
- // If the desired use-case is opaque, the Widget painting framework will
- // already fill in the alpha channel with full opacity.
- errno = 0;
- val = SCREEN_TRANSPARENCY_SOURCE_OVER;
- result = screen_set_window_property_iv(m_window, SCREEN_PROPERTY_TRANSPARENCY, &val);
- if (result != 0)
- qFatal("QQnxWindow: failed to set window transparency, errno=%d", errno);
-
// Set the window swap interval
errno = 0;
val = 1;
diff --git a/src/plugins/platforms/windows/qwindowsfontdatabase.cpp b/src/plugins/platforms/windows/qwindowsfontdatabase.cpp
index e19e8d350f..2b6a6255b8 100644
--- a/src/plugins/platforms/windows/qwindowsfontdatabase.cpp
+++ b/src/plugins/platforms/windows/qwindowsfontdatabase.cpp
@@ -627,7 +627,6 @@ static inline QFontDatabase::WritingSystem writingSystemFromCharSet(uchar charSe
case EASTEUROPE_CHARSET:
case BALTIC_CHARSET:
case TURKISH_CHARSET:
- case OEM_CHARSET:
return QFontDatabase::Latin;
case GREEK_CHARSET:
return QFontDatabase::Greek;
@@ -652,8 +651,6 @@ static inline QFontDatabase::WritingSystem writingSystemFromCharSet(uchar charSe
return QFontDatabase::Vietnamese;
case SYMBOL_CHARSET:
return QFontDatabase::Symbol;
- // ### case MAC_CHARSET:
- // ### case DEFAULT_CHARSET:
default:
break;
}
diff --git a/src/plugins/platforms/windows/qwindowsfontdatabase_ft.cpp b/src/plugins/platforms/windows/qwindowsfontdatabase_ft.cpp
index 8d14adf828..51f79736f2 100644
--- a/src/plugins/platforms/windows/qwindowsfontdatabase_ft.cpp
+++ b/src/plugins/platforms/windows/qwindowsfontdatabase_ft.cpp
@@ -81,7 +81,6 @@ static inline QFontDatabase::WritingSystem writingSystemFromCharSet(uchar charSe
case EASTEUROPE_CHARSET:
case BALTIC_CHARSET:
case TURKISH_CHARSET:
- case OEM_CHARSET:
return QFontDatabase::Latin;
case GREEK_CHARSET:
return QFontDatabase::Greek;
@@ -106,8 +105,6 @@ static inline QFontDatabase::WritingSystem writingSystemFromCharSet(uchar charSe
return QFontDatabase::Vietnamese;
case SYMBOL_CHARSET:
return QFontDatabase::Symbol;
- // ### case MAC_CHARSET:
- // ### case DEFAULT_CHARSET:
default:
break;
}
diff --git a/src/plugins/platforms/windows/qwindowskeymapper.cpp b/src/plugins/platforms/windows/qwindowskeymapper.cpp
index 2743ef029d..1baea6faff 100644
--- a/src/plugins/platforms/windows/qwindowskeymapper.cpp
+++ b/src/plugins/platforms/windows/qwindowskeymapper.cpp
@@ -743,8 +743,11 @@ bool QWindowsKeyMapper::translateKeyEvent(QWindow *widget, HWND hwnd,
return true;
}
- // Add this key to the keymap if it is not present yet.
- updateKeyMap(msg);
+ // WM_CHAR messages already contain the character in question so there is
+ // no need to fiddle with our key map. In any other case add this key to the
+ // keymap if it is not present yet.
+ if (msg.message != WM_CHAR)
+ updateKeyMap(msg);
MSG peekedMsg;
// consume dead chars?(for example, typing '`','a' resulting in a-accent).