Prevent undefined behavior in slots connected to QObject::destroyed
commit7fed899209932f127f9325c3a71e634d6752fd16
authorJan Kundrát <jkt@kde.org>
Tue, 6 Sep 2016 17:08:45 +0000 (6 19:08 +0200)
committerJan Kundrát <jkt@kde.org>
Tue, 6 Sep 2016 18:26:13 +0000 (6 20:26 +0200)
tree928e92823eec3fcf8ed405bc4b4f4184d4f83183
parentdee3802ce29bbc91139687480748443fd2bc4a1f
Prevent undefined behavior in slots connected to QObject::destroyed

Apparently it is undefined behavior to static_cast<Derived*> something
which is no longer an instance of Derived, even if we ever use that
pointer for actual pointer equivalence test. Thanks to UBSAN for finding
this.

Change-Id: If27f265e35d12fbaa374754c759095ec9b3c8c1a
src/Imap/Model/Model.cpp
src/Imap/Model/TaskPresentationModel.cpp
src/Imap/Model/TaskPresentationModel.h
src/Imap/Tasks/KeepMailboxOpenTask.cpp