OSDN Git Service

use qulonglong construct to make the compiler cope with quintptr
authorIvailo Monev <xakepa10@laimg.moc>
Mon, 29 Jul 2019 18:37:17 +0000 (18:37 +0000)
committerIvailo Monev <xakepa10@laimg.moc>
Mon, 29 Jul 2019 19:03:27 +0000 (19:03 +0000)
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
src/gui/widgets/qdockarealayout.cpp
src/gui/widgets/qdockarealayout_p.h
src/test/qsignaldumper.cpp

index 469c153..5dfbdb9 100644 (file)
@@ -216,11 +216,11 @@ QDockAreaLayoutItem
 */
 
 #ifndef QT_NO_TABBAR
-static quintptr tabId(const QDockAreaLayoutItem &item)
+static qulonglong tabId(const QDockAreaLayoutItem &item)
 {
     if (item.widgetItem == 0)
         return 0;
-    return reinterpret_cast<quintptr>(item.widgetItem->widget());
+    return reinterpret_cast<qulonglong>(item.widgetItem->widget());
 }
 #endif
 
@@ -1101,7 +1101,7 @@ QLayoutItem *QDockAreaLayoutInfo::unplug(const QList<int> &path)
 
 #ifndef QT_NO_TABBAR
 
-quintptr QDockAreaLayoutInfo::currentTabId() const
+qulonglong QDockAreaLayoutInfo::currentTabId() const
 {
     if (!tabbed || tabBar == 0)
         return 0;
@@ -1110,21 +1110,21 @@ quintptr QDockAreaLayoutInfo::currentTabId() const
     if (index == -1)
         return 0;
 
-    return qvariant_cast<quintptr>(tabBar->tabData(index));
+    return qvariant_cast<qulonglong>(tabBar->tabData(index));
 }
 
 void QDockAreaLayoutInfo::setCurrentTab(QWidget *widget)
 {
-    setCurrentTabId(reinterpret_cast<quintptr>(widget));
+    setCurrentTabId(reinterpret_cast<qulonglong>(widget));
 }
 
-void QDockAreaLayoutInfo::setCurrentTabId(quintptr id)
+void QDockAreaLayoutInfo::setCurrentTabId(qulonglong id)
 {
     if (!tabbed || tabBar == 0)
         return;
 
     for (int i = 0; i < tabBar->count(); ++i) {
-        if (qvariant_cast<quintptr>(tabBar->tabData(i)) == id) {
+        if (qvariant_cast<qulonglong>(tabBar->tabData(i)) == id) {
             tabBar->setCurrentIndex(i);
             return;
         }
@@ -1786,7 +1786,7 @@ void QDockAreaLayoutInfo::saveState(QDataStream &stream) const
         stream << (uchar) TabMarker;
 
         // write the index in item_list of the widget that's currently on top.
-        quintptr id = currentTabId();
+        qulonglong id = currentTabId();
         int index = -1;
         for (int i = 0; i < item_list.count(); ++i) {
             if (tabId(item_list.at(i)) == id) {
@@ -2084,16 +2084,16 @@ bool QDockAreaLayoutInfo::updateTabBar() const
 
         QDockWidget *dw = qobject_cast<QDockWidget*>(item.widgetItem->widget());
         QString title = dw->d_func()->fixedWindowTitle;
-        quintptr id = tabId(item);
+        qulonglong id = tabId(item);
         if (tab_idx == tabBar->count()) {
             tabBar->insertTab(tab_idx, title);
 #ifndef QT_NO_TOOLTIP
             tabBar->setTabToolTip(tab_idx, title);
 #endif
-            tabBar->setTabData(tab_idx, id);
-        } else if (qvariant_cast<quintptr>(tabBar->tabData(tab_idx)) != id) {
+            tabBar->setTabData(tab_idx, qulonglong(id));
+        } else if (qvariant_cast<qulonglong>(tabBar->tabData(tab_idx)) != id) {
             if (tab_idx + 1 < tabBar->count()
-                    && qvariant_cast<quintptr>(tabBar->tabData(tab_idx + 1)) == id)
+                    && qvariant_cast<qulonglong>(tabBar->tabData(tab_idx + 1)) == id)
                 tabBar->removeTab(tab_idx);
             else {
                 tabBar->insertTab(tab_idx, title);
index d227334..30c4adc 100644 (file)
@@ -194,9 +194,9 @@ public:
 #endif //QT_NO_TABBAR
 
 #ifndef QT_NO_TABBAR
-    quintptr currentTabId() const;
+    qulonglong currentTabId() const;
     void setCurrentTab(QWidget *widget);
-    void setCurrentTabId(quintptr id);
+    void setCurrentTabId(qulonglong id);
     QRect tabContentRect() const;
     bool tabbed;
     QTabBar *tabBar;
index b72141c..19743c3 100644 (file)
@@ -93,7 +93,7 @@ static void qSignalDumperCallback(QObject *caller, int method_index, void **argv
     str += objname.toLocal8Bit();
     if (!objname.isEmpty())
         str += ' ';
-    str += QByteArray::number(quintptr(caller), 16);
+    str += QByteArray::number(qulonglong(quintptr(caller)), 16);
 
     str += ") ";
     str += QTest::memberName(member);
@@ -111,7 +111,7 @@ static void qSignalDumperCallback(QObject *caller, int method_index, void **argv
                 str += '@';
 
             quintptr addr = quintptr(*reinterpret_cast<void **>(argv[i + 1]));
-            str.append(QByteArray::number(addr, 16));
+            str.append(QByteArray::number(qulonglong(addr), 16));
         } else if (typeId != QMetaType::Void) {
             str.append(arg)
                 .append('(')
@@ -149,7 +149,7 @@ static void qSignalDumperCallbackSlot(QObject *caller, int method_index, void **
     str += objname.toLocal8Bit();
     if (!objname.isEmpty())
         str += ' ';
-    str += QByteArray::number(quintptr(caller), 16);
+    str += QByteArray::number(qulonglong(quintptr(caller)), 16);
 
     str += ") ";
     str += member.signature();