[Psi-devel] Just removing psi's type-punning warning thingy
Ephraim Talrock
ephraim at coder-board.info
Thu Mar 8 11:23:51 PST 2007
Hey,
here is a patch which just removes the type punning warning which
appears when psiaccount.cpp being compiled, that one from qobject.h
stays.
Ciao Ephraim
--------------------------------------------------------------------------------------------------
Index: src/psiaccount.h
===================================================================
--- src/psiaccount.h (Revision 376)
+++ src/psiaccount.h (Arbeitskopie)
@@ -129,7 +129,7 @@
QList<T> list;
findDialogs(((T)0)->staticMetaObject,
jid, compareResource,
- reinterpret_cast<QList<void*>*>(&list));
+ &list);
return list;
}
@@ -375,7 +375,8 @@
void cleanupStream();
QWidget* findDialog(const QMetaObject& mo, const Jid& jid, bool
compareResource) const;
- void findDialogs(const QMetaObject& mo, const Jid& jid, bool
compareResource, QList<void*>* list) const;
+ template<typename T>
+ void findDialogs(const QMetaObject& mo, const Jid& jid, bool
compareResource, QList<T>* list) const;
friend class Private;
};
Index: src/psiaccount.cpp
===================================================================
--- src/psiaccount.cpp (Revision 376)
+++ src/psiaccount.cpp (Arbeitskopie)
@@ -371,11 +371,12 @@
return 0;
}
- void findDialogs(const QMetaObject& mo, const Jid& jid, bool
compareResource, QList<void*>* list) const
+ template<typename T>
+ void findDialogs(const QMetaObject& mo, const Jid& jid, bool
compareResource, QList<T>* list) const
{
foreach(item_dialog2* i, dialogList) {
if (mo.cast(i->widget) && compareJids(i->jid,
jid, compareResource))
- list->append(i->widget);
+ list->append((T)i->widget);
}
}
@@ -2276,9 +2277,10 @@
return d->findDialog(mo, jid, compareResource);
}
-void PsiAccount::findDialogs(const QMetaObject& mo, const Jid& jid,
bool compareResource, QList<void*>* list) const
+template<typename T>
+void PsiAccount::findDialogs(const QMetaObject& mo, const Jid& jid,
bool compareResource, QList<T>* list) const
{
- d->findDialogs(mo, jid, compareResource, list);
+ d->findDialogs<T>(mo, jid, compareResource, list);
}
void PsiAccount::dialogRegister(QWidget *w, const Jid &j)
--------------------------------------------------------------------------------------------------
More information about the psi-devel
mailing list