summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2016-02-22 16:58:38 +0100
committerSimon Hausmann <simon.hausmann@theqtcompany.com>2016-02-26 08:24:38 +0000
commit4905bf06549ce33250b13e837d192e92bffffcdb (patch)
tree7cdac4b62a95096aca094842249725f41b595f62
parent403b7d4a21bba14bc059ad0c84a7614f221255e9 (diff)
Windows Accessibility: Fix warnings as shown by Qt Creator's Clang based code model.
Introduce C++ casts and add some conversions. Where possible, increase const-correctness. Remove trivial conversion function BSTRToQString(). Task-number: QTBUG-50804 Change-Id: I1820d4693db8bc0dfa6c4a5fecd768cf64a4405c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
-rw-r--r--src/plugins/platforms/windows/accessible/comutils.cpp18
-rw-r--r--src/plugins/platforms/windows/accessible/comutils.h7
-rw-r--r--src/plugins/platforms/windows/accessible/iaccessible2.cpp71
-rw-r--r--src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp8
-rw-r--r--src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp20
5 files changed, 65 insertions, 59 deletions
diff --git a/src/plugins/platforms/windows/accessible/comutils.cpp b/src/plugins/platforms/windows/accessible/comutils.cpp
index 94e56e8b73..acfab97899 100644
--- a/src/plugins/platforms/windows/accessible/comutils.cpp
+++ b/src/plugins/platforms/windows/accessible/comutils.cpp
@@ -58,15 +58,15 @@ static DATE QDateTimeToDATE(const QDateTime &dt)
QDate date = dt.date();
QTime time = dt.time();
if (date.isValid() && !date.isNull()) {
- stime.wDay = date.day();
- stime.wMonth = date.month();
- stime.wYear = date.year();
+ stime.wDay = WORD(date.day());
+ stime.wMonth = WORD(date.month());
+ stime.wYear = WORD(date.year());
}
if (time.isValid() && !time.isNull()) {
- stime.wMilliseconds = time.msec();
- stime.wSecond = time.second();
- stime.wMinute = time.minute();
- stime.wHour = time.hour();
+ stime.wMilliseconds = WORD(time.msec());
+ stime.wSecond = WORD(time.second());
+ stime.wMinute = WORD(time.minute());
+ stime.wHour = WORD(time.hour());
}
double vtime;
@@ -92,8 +92,8 @@ bool QVariant2VARIANT(const QVariant &var, VARIANT &arg, const QByteArray &typeN
proptype = QVariant::Double;
}
if (proptype != QVariant::Invalid && proptype != QVariant::UserType && proptype != qvar.type()) {
- if (qvar.canConvert(proptype))
- qvar.convert(proptype);
+ if (qvar.canConvert(int(proptype)))
+ qvar.convert(int(proptype));
else
qvar = QVariant(proptype);
}
diff --git a/src/plugins/platforms/windows/accessible/comutils.h b/src/plugins/platforms/windows/accessible/comutils.h
index 113d79d473..d5476aa6e8 100644
--- a/src/plugins/platforms/windows/accessible/comutils.h
+++ b/src/plugins/platforms/windows/accessible/comutils.h
@@ -47,14 +47,9 @@ class QVariant;
// Originally QVariantToVARIANT copied from ActiveQt - renamed to avoid conflicts in static builds.
bool QVariant2VARIANT(const QVariant &var, VARIANT &arg, const QByteArray &typeName, bool out);
-inline QString BSTRToQString(const BSTR &bstr)
-{
- return QString((QChar*)bstr);
-}
-
inline BSTR QStringToBSTR(const QString &str)
{
- return SysAllocStringLen((OLECHAR*)str.unicode(), str.length());
+ return SysAllocStringLen(reinterpret_cast<const OLECHAR *>(str.unicode()), UINT(str.length()));
}
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/windows/accessible/iaccessible2.cpp b/src/plugins/platforms/windows/accessible/iaccessible2.cpp
index abca91a7db..7c0b0370b3 100644
--- a/src/plugins/platforms/windows/accessible/iaccessible2.cpp
+++ b/src/plugins/platforms/windows/accessible/iaccessible2.cpp
@@ -60,7 +60,7 @@ HRESULT STDMETHODCALLTYPE AccessibleApplication::QueryInterface(REFIID id, LPVOI
*iface = 0;
if (id == IID_IUnknown) {
qCDebug(lcQpaAccessibility) << "AccessibleApplication::QI(): IID_IUnknown";
- *iface = (IUnknown*)this;
+ *iface = static_cast<IUnknown *>(this);
} else if (id == IID_IAccessibleApplication) {
qCDebug(lcQpaAccessibility) << "AccessibleApplication::QI(): IID_IAccessibleApplication";
*iface = static_cast<IAccessibleApplication*>(this);
@@ -130,7 +130,7 @@ HRESULT STDMETHODCALLTYPE AccessibleRelation::QueryInterface(REFIID id, LPVOID *
{
*iface = 0;
if (id == IID_IUnknown || id == IID_IAccessibleRelation)
- *iface = (IUnknown*)this;
+ *iface = static_cast<IUnknown *>(this);
if (*iface) {
AddRef();
@@ -208,7 +208,7 @@ HRESULT STDMETHODCALLTYPE AccessibleRelation::get_targets(
/* [retval][out] */ long *nTargets)
{
- const int numTargets = qMin((int)maxTargets, m_targets.count());
+ const int numTargets = qMin(int(maxTargets), m_targets.count());
for (int i = 0; i < numTargets; ++i) {
QAccessibleInterface *iface = m_targets.at(i);
IAccessible *iacc = QWindowsAccessibility::wrap(iface);
@@ -237,40 +237,40 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::QueryInterface(REFIID id, LPVOI
HRESULT hr = QWindowsMsaaAccessible::QueryInterface(id, iface);
if (!SUCCEEDED(hr)) {
if (id == IID_IServiceProvider) {
- *iface = (IServiceProvider*)this;
+ *iface = static_cast<IServiceProvider *>(this);
} else if (id == IID_IAccessible2) {
- *iface = (IAccessible2*)this;
+ *iface = static_cast<IAccessible2 *>(this);
} else if (id == IID_IAccessibleAction) {
if (accessible->actionInterface())
- *iface = (IAccessibleAction*)this;
+ *iface = static_cast<IAccessibleAction *>(this);
} else if (id == IID_IAccessibleComponent) {
- *iface = (IAccessibleComponent*)this;
+ *iface = static_cast<IAccessibleComponent *>(this);
} else if (id == IID_IAccessibleEditableText) {
if (accessible->editableTextInterface() ||
accessible->role() == QAccessible::EditableText)
{
- *iface = (IAccessibleEditableText*)this;
+ *iface = static_cast<IAccessibleEditableText *>(this);
}
} else if (id == IID_IAccessibleHyperlink) {
- //*iface = (IAccessibleHyperlink*)this;
+ //*iface = static_cast<IAccessibleHyperlink *>(this);
} else if (id == IID_IAccessibleHypertext) {
- //*iface = (IAccessibleHypertext*)this;
+ //*iface = static_cast<IAccessibleHypertext *>(this);
} else if (id == IID_IAccessibleImage) {
- //*iface = (IAccessibleImage*)this;
+ //*iface = static_cast<IAccessibleImage *>(this);
} else if (id == IID_IAccessibleTable) {
- //*iface = (IAccessibleTable*)this; // not supported
+ //*iface = static_cast<IAccessibleTable *>(this); // not supported
} else if (id == IID_IAccessibleTable2) {
if (accessible->tableInterface())
- *iface = (IAccessibleTable2*)this;
+ *iface = static_cast<IAccessibleTable2 *>(this);
} else if (id == IID_IAccessibleTableCell) {
if (accessible->tableCellInterface())
- *iface = (IAccessibleTableCell*)this;
+ *iface = static_cast<IAccessibleTableCell *>(this);
} else if (id == IID_IAccessibleText) {
if (accessible->textInterface())
- *iface = (IAccessibleText*)this;
+ *iface = static_cast<IAccessibleText *>(this);
} else if (id == IID_IAccessibleValue) {
if (accessible->valueInterface())
- *iface = (IAccessibleValue*)this;
+ *iface = static_cast<IAccessibleValue *>(this);
}
if (*iface) {
AddRef();
@@ -674,7 +674,7 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_foreground(IA2Color *foregr
return E_FAIL;
// IA2Color is a typedef for long
- *foreground = (IA2Color)accessible->foregroundColor().rgb();
+ *foreground = static_cast<IA2Color>(accessible->foregroundColor().rgb());
return S_OK;
}
@@ -686,7 +686,7 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_background(IA2Color *backgr
return E_FAIL;
// IA2Color is a typedef for long
- *background = (IA2Color)accessible->backgroundColor().rgb();
+ *background = static_cast<IA2Color>(accessible->backgroundColor().rgb());
return S_OK;
}
@@ -760,7 +760,7 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::insertText(long offset, BSTR *t
{
QAccessibleInterface *accessible = accessibleInterface();
accessibleDebugClientCalls(accessible);
- const QString txt(BSTRToQString(*text));
+ const QString txt = QString::fromWCharArray(*text);
if (QAccessibleEditableTextInterface *editableTextIface = accessible->editableTextInterface())
editableTextIface->insertText(offset, txt);
else
@@ -805,7 +805,7 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::replaceText(long startOffset, l
{
QAccessibleInterface *accessible = accessibleInterface();
accessibleDebugClientCalls(accessible);
- const QString txt(BSTRToQString(*text));
+ const QString txt = QString::fromWCharArray(*text);
if (QAccessibleEditableTextInterface *editableTextIface = accessible->editableTextInterface())
editableTextIface->replaceText(startOffset, endOffset, txt);
else
@@ -1206,10 +1206,10 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_rowColumnExtents(long *row,
if (!accessible || !tableCellInterface())
return E_FAIL;
- *row = (long)tableCellInterface()->rowIndex();
- *column = (long)tableCellInterface()->columnIndex();
- *rowExtents = (long)tableCellInterface()->rowExtent();
- *columnExtents = (long)tableCellInterface()->columnExtent();
+ *row = tableCellInterface()->rowIndex();
+ *column = tableCellInterface()->columnIndex();
+ *rowExtents = tableCellInterface()->rowExtent();
+ *columnExtents = tableCellInterface()->columnExtent();
*isSelected = tableCellInterface()->isSelected();
return S_OK;
}
@@ -1250,7 +1250,8 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_attributes(long offset,
QAccessibleInterface *accessible = accessibleInterface();
accessibleDebugClientCalls(accessible);
if (QAccessibleTextInterface *text = textInterface()) {
- const QString attrs = text->attributes(offset, (int*)startOffset, (int*)endOffset);
+ const QString attrs = text->attributes(offset, reinterpret_cast<int *>(startOffset),
+ reinterpret_cast<int *>(endOffset));
*textAttributes = QStringToBSTR(attrs);
return S_OK;
}
@@ -1322,7 +1323,8 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_selection(long selectionInd
QAccessibleInterface *accessible = accessibleInterface();
accessibleDebugClientCalls(accessible);
if (QAccessibleTextInterface *text = textInterface()) {
- text->selection(selectionIndex, (int*)startOffset, (int*)endOffset);
+ text->selection(selectionIndex, reinterpret_cast<int *>(startOffset),
+ reinterpret_cast<int *>(endOffset));
return S_OK;
}
return E_FAIL;
@@ -1354,7 +1356,10 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_textBeforeOffset(long offse
QAccessibleInterface *accessible = accessibleInterface();
accessibleDebugClientCalls(accessible);
if (QAccessibleTextInterface *textIface = textInterface()) {
- const QString txt = textIface->textBeforeOffset(offset, (QAccessible::TextBoundaryType)boundaryType, (int*)startOffset, (int*)endOffset);
+ const QString txt =
+ textIface->textBeforeOffset(offset, static_cast<QAccessible::TextBoundaryType>(boundaryType),
+ reinterpret_cast<int *>(startOffset),
+ reinterpret_cast<int *>(endOffset));
if (!txt.isEmpty()) {
*text = QStringToBSTR(txt);
return S_OK;
@@ -1374,7 +1379,10 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_textAfterOffset(
QAccessibleInterface *accessible = accessibleInterface();
accessibleDebugClientCalls(accessible);
if (QAccessibleTextInterface *textIface = textInterface()) {
- const QString txt = textIface->textAfterOffset(offset, (QAccessible::TextBoundaryType)boundaryType, (int*)startOffset, (int*)endOffset);
+ const QString txt =
+ textIface->textAfterOffset(offset, static_cast<QAccessible::TextBoundaryType>(boundaryType),
+ reinterpret_cast<int *>(startOffset),
+ reinterpret_cast<int *>(endOffset));
if (!txt.isEmpty()) {
*text = QStringToBSTR(txt);
return S_OK;
@@ -1393,7 +1401,10 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_textAtOffset(long offset,
QAccessibleInterface *accessible = accessibleInterface();
accessibleDebugClientCalls(accessible);
if (QAccessibleTextInterface *textIface = textInterface()) {
- const QString txt = textIface->textAtOffset(offset, (QAccessible::TextBoundaryType)boundaryType, (int*)startOffset, (int*)endOffset);
+ const QString txt =
+ textIface->textAtOffset(offset, static_cast<QAccessible::TextBoundaryType>(boundaryType),
+ reinterpret_cast<int *>(startOffset),
+ reinterpret_cast<int *>(endOffset));
if (!txt.isEmpty()) {
*text = QStringToBSTR(txt);
return S_OK;
@@ -1632,7 +1643,7 @@ HRESULT QWindowsIA2Accessible::getRelationsHelper(IAccessibleRelation **relation
QList<QAccessible::Relation> keys = relationMap.keys();
const int numRelations = keys.count();
if (relations) {
- for (int i = startIndex; i < qMin(startIndex + (int)maxRelations, numRelations); ++i) {
+ for (int i = startIndex; i < qMin(startIndex + int(maxRelations), numRelations); ++i) {
QAccessible::Relation relation = keys.at(i);
QList<QAccessibleInterface*> targets = relationMap.values(relation);
AccessibleRelation *rel = new AccessibleRelation(targets, relation);
diff --git a/src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp b/src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp
index cdadb070a5..3e96895bf9 100644
--- a/src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp
+++ b/src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp
@@ -167,7 +167,7 @@ void QWindowsAccessibility::notifyAccessibilityUpdate(QAccessibleEvent *event)
QPlatformNativeInterface *platform = QGuiApplication::platformNativeInterface();
if (!window->handle()) // Called before show(), no native window yet.
return;
- HWND hWnd = (HWND)platform->nativeResourceForWindow("handle", window);
+ const HWND hWnd = reinterpret_cast<HWND>(platform->nativeResourceForWindow("handle", window));
if (event->type() != QAccessible::MenuCommand && // MenuCommand is faked
event->type() != QAccessible::ObjectDestroyed) {
@@ -214,7 +214,7 @@ IAccessible *QWindowsAccessibility::wrap(QAccessibleInterface *acc)
QWindowsIA2Accessible *wacc = new QWindowsIA2Accessible(acc);
# endif
IAccessible *iacc = 0;
- wacc->QueryInterface(IID_IAccessible, (void**)&iacc);
+ wacc->QueryInterface(IID_IAccessible, reinterpret_cast<void **>(&iacc));
return iacc;
#endif // defined(Q_OS_WINCE)
}
@@ -224,7 +224,7 @@ bool QWindowsAccessibility::handleAccessibleObjectFromWindowRequest(HWND hwnd, W
#if !defined(Q_OS_WINCE)
if (static_cast<long>(lParam) == static_cast<long>(UiaRootObjectId)) {
/* For UI Automation */
- } else if ((DWORD)lParam == DWORD(OBJID_CLIENT)) {
+ } else if (DWORD(lParam) == DWORD(OBJID_CLIENT)) {
// Start handling accessibility internally
QGuiApplicationPrivate::platformIntegration()->accessibility()->setActive(true);
// Ignoring all requests while starting up
@@ -238,7 +238,7 @@ bool QWindowsAccessibility::handleAccessibleObjectFromWindowRequest(HWND hwnd, W
if (!oleaccChecked) {
oleaccChecked = true;
- ptrLresultFromObject = (PtrLresultFromObject)QSystemLibrary::resolve(QLatin1String("oleacc"), "LresultFromObject");
+ ptrLresultFromObject = reinterpret_cast<PtrLresultFromObject>(QSystemLibrary::resolve(QLatin1String("oleacc"), "LresultFromObject"));
}
if (ptrLresultFromObject) {
diff --git a/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp b/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp
index 2189938248..4ecf78dbf6 100644
--- a/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp
+++ b/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp
@@ -94,9 +94,9 @@ HRESULT STDMETHODCALLTYPE QWindowsEnumerate::QueryInterface(REFIID id, LPVOID *i
{
*iface = 0;
if (id == IID_IUnknown)
- *iface = (IUnknown*)this;
+ *iface = static_cast<IUnknown *>(this);
else if (id == IID_IEnumVARIANT)
- *iface = (IEnumVARIANT*)this;
+ *iface = static_cast<IEnumVARIANT *>(this);
if (*iface) {
AddRef();
@@ -144,13 +144,13 @@ HRESULT STDMETHODCALLTYPE QWindowsEnumerate::Next(unsigned long celt, VARIANT F
ULONG l;
for (l = 0; l < celt; l++) {
VariantInit(&rgVar[l]);
- if ((current+1) > (ULONG)array.size()) {
+ if (current + 1 > ULONG(array.size())) {
*pCeltFetched = l;
return S_FALSE;
}
rgVar[l].vt = VT_I4;
- rgVar[l].lVal = array[(int)current];
+ rgVar[l].lVal = array[int(current)];
++current;
}
*pCeltFetched = l;
@@ -166,8 +166,8 @@ HRESULT STDMETHODCALLTYPE QWindowsEnumerate::Reset()
HRESULT STDMETHODCALLTYPE QWindowsEnumerate::Skip(unsigned long celt)
{
current += celt;
- if (current > (ULONG)array.size()) {
- current = array.size();
+ if (current > ULONG(array.size())) {
+ current = ULONG(array.size());
return S_FALSE;
}
return S_OK;
@@ -195,13 +195,13 @@ HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::QueryInterface(REFIID id, LPVO
<< strIID << ", iface:" << accessibleInterface();
}
if (id == IID_IUnknown) {
- *iface = (IUnknown*)(IDispatch*)this;
+ *iface = static_cast<IUnknown *>(static_cast<IDispatch *>(this));
} else if (id == IID_IDispatch) {
- *iface = (IDispatch*)this;
+ *iface = static_cast<IDispatch *>(this);
} else if (id == IID_IAccessible) {
- *iface = (IAccessible*)this;
+ *iface = static_cast<IAccessible *>(this);
} else if (id == IID_IOleWindow) {
- *iface = (IOleWindow*)this;
+ *iface = static_cast<IOleWindow *>(this);
}
if (*iface) {