Fixed CalDAV crash when event editor left open during automatic reload

git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1167492 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
v3.5.13-sru
tpearson 14 years ago
parent 90fb05e4f8
commit c437f19f37

@ -41,6 +41,8 @@
#include <tqwidget.h> #include <tqwidget.h>
static bool m_editoropen = false;
KOCore *KOCore::mSelf = 0; KOCore *KOCore::mSelf = 0;
KOCore *KOCore::self() KOCore *KOCore::self()
@ -62,6 +64,16 @@ KOCore::~KOCore()
mSelf = 0; mSelf = 0;
} }
bool KOCore::editorWindowOpen()
{
return m_editoropen;
}
void KOCore::setEditorWindowOpen(bool open)
{
m_editoropen = open;
}
KTrader::OfferList KOCore::availablePlugins( const TQString &type, int version ) KTrader::OfferList KOCore::availablePlugins( const TQString &type, int version )
{ {
TQString constraint; TQString constraint;

@ -84,6 +84,9 @@ class KDE_EXPORT KOCore
KPIM::IdentityManager* identityManager(); KPIM::IdentityManager* identityManager();
bool editorWindowOpen();
void setEditorWindowOpen(bool open);
protected: protected:
KOCore(); KOCore();

@ -60,6 +60,7 @@
#include "koprefs.h" #include "koprefs.h"
#include "koglobals.h" #include "koglobals.h"
#include "kocore.h"
#include "koeditorgeneral.h" #include "koeditorgeneral.h"
#include "koeditoralarms.h" #include "koeditoralarms.h"
@ -70,11 +71,13 @@
KOEditorGeneral::KOEditorGeneral(TQObject* parent, const char* name) : KOEditorGeneral::KOEditorGeneral(TQObject* parent, const char* name) :
TQObject( parent, name ), mAttachments(0) TQObject( parent, name ), mAttachments(0)
{ {
KOCore::self()->setEditorWindowOpen(true);
mAlarmList.setAutoDelete( true ); mAlarmList.setAutoDelete( true );
} }
KOEditorGeneral::~KOEditorGeneral() KOEditorGeneral::~KOEditorGeneral()
{ {
KOCore::self()->setEditorWindowOpen(false);
} }

@ -15,7 +15,7 @@ libkcal_caldav_la_LDFLAGS = $(KDE_RPATH) $(all_libraries) \
libkcal_caldav_la_LIBADD = \ libkcal_caldav_la_LIBADD = \
$(top_builddir)/libkcal/libkcal.la \ $(top_builddir)/libkcal/libkcal.la \
$(top_builddir)/libkdepim/libkdepim.la \ $(top_builddir)/libkdepim/libkdepim.la \
-lcaldav -lcaldav -lkorganizer
libkcal_caldav_la_COMPILE_FIRST = prefsskel.h libkcal_caldav_la_COMPILE_FIRST = prefsskel.h
kde_module_LTLIBRARIES = kcal_caldav.la kde_module_LTLIBRARIES = kcal_caldav.la

@ -38,6 +38,7 @@
#include "resource.h" #include "resource.h"
#include "reader.h" #include "reader.h"
#include "writer.h" #include "writer.h"
#include <korganizer/kocore.h>
/*========================================================================= /*=========================================================================
| NAMESPACE | NAMESPACE
@ -143,6 +144,9 @@ bool ResourceCalDav::isSaving() {
bool ResourceCalDav::doLoad() { bool ResourceCalDav::doLoad() {
bool syncCache = true; bool syncCache = true;
// Make sure no editor windows are open
if (KOCore::self()->editorWindowOpen() == true) return true;
if ((mLoadingQueueReady == false) || (mLoadingQueue.isEmpty() == false) || (mLoader->running() == true) || (isSaving() == true)) { if ((mLoadingQueueReady == false) || (mLoadingQueue.isEmpty() == false) || (mLoader->running() == true) || (isSaving() == true)) {
return true; // Silently fail; the user has obviously not responded to a dialog and we don't need to pop up more of them! return true; // Silently fail; the user has obviously not responded to a dialog and we don't need to pop up more of them!
} }

Loading…
Cancel
Save