diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-07-08 19:50:21 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-07-08 19:50:21 +0000 |
commit | 02ee984b9d0de9840af7aa60164041cb066674bd (patch) | |
tree | 919bab01656b62cd57d7b6c08693f3698b0e48ec /kdesktop | |
parent | 20957d880f050d82c71939cb750c54a6dcfd70f4 (diff) | |
download | tdebase-02ee984b9d0de9840af7aa60164041cb066674bd.tar.gz tdebase-02ee984b9d0de9840af7aa60164041cb066674bd.zip |
Fix Bug #456
On newer gcc/libstdc/glibc systems virtual base objects are not actually allocated,
causing a crash when assigning to data members of the virtual base object.
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1240474 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kdesktop')
-rw-r--r-- | kdesktop/KBackgroundIface.h | 4 | ||||
-rw-r--r-- | kdesktop/bgmanager.cc | 2 | ||||
-rw-r--r-- | kdesktop/bgmanager.h | 2 | ||||
-rw-r--r-- | kdesktop/krootwm.cc | 2 |
4 files changed, 6 insertions, 4 deletions
diff --git a/kdesktop/KBackgroundIface.h b/kdesktop/KBackgroundIface.h index 47818021a..0753b54aa 100644 --- a/kdesktop/KBackgroundIface.h +++ b/kdesktop/KBackgroundIface.h @@ -8,11 +8,13 @@ #include <dcopobject.h> #include <tqcolor.h> -class KBackgroundIface : virtual public DCOPObject +class KBackgroundIface : public DCOPObject { K_DCOP public: + KBackgroundIface() : DCOPObject("KBackgroundIface") {} + k_dcop: /** Reread the configuration */ virtual void configure() = 0; diff --git a/kdesktop/bgmanager.cc b/kdesktop/bgmanager.cc index efabdbf2e..a3f58c2eb 100644 --- a/kdesktop/bgmanager.cc +++ b/kdesktop/bgmanager.cc @@ -60,7 +60,7 @@ extern KDesktopApp *myApp; /**** KBackgroundManager ****/ KBackgroundManager::KBackgroundManager(TQWidget *desktop, KWinModule* kwinModule) - : DCOPObject("KBackgroundIface") + : KBackgroundIface() { if( !properties_inited ) { diff --git a/kdesktop/bgmanager.h b/kdesktop/bgmanager.h index 485d6520b..4e15b8df5 100644 --- a/kdesktop/bgmanager.h +++ b/kdesktop/bgmanager.h @@ -55,7 +55,7 @@ struct KBackgroundCacheEntry class KBackgroundManager : public TQObject, - virtual public KBackgroundIface + public KBackgroundIface { Q_OBJECT TQ_OBJECT diff --git a/kdesktop/krootwm.cc b/kdesktop/krootwm.cc index 2ea6fa87c..3805e5c81 100644 --- a/kdesktop/krootwm.cc +++ b/kdesktop/krootwm.cc @@ -69,7 +69,7 @@ KRootWm * KRootWm::s_rootWm = 0; extern TQCString kdesktop_name, kicker_name, kwin_name; -KRootWm::KRootWm(KDesktop* _desktop) : TQObject(_desktop) +KRootWm::KRootWm(KDesktop* _desktop) : TQObject(_desktop), startup(FALSE) { s_rootWm = this; m_actionCollection = new KActionCollection(_desktop, this, "KRootWm::m_actionCollection"); |