1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
commit cfa404b7188e4c26bddbc9579728f6d25f8cd214
Author: Stephen Kelly <steveire@gmail.com>
Date: Tue Apr 5 11:09:43 2011 +0200
Start kdepim 4.4 asynchronously if built against 4.6.
The synchronous mechanism doesn't have enough time to start
before it reports failure.
diff --git a/kaddressbook/main.cpp b/kaddressbook/main.cpp
index 4c8ca42..200f8ec 100644
--- a/kaddressbook/main.cpp
+++ b/kaddressbook/main.cpp
@@ -49,11 +49,13 @@ int main( int argc, char **argv )
MainWindow *window = new MainWindow;
window->show();
+#if !KDE_IS_VERSION(4,6,0)
if ( !Akonadi::Control::start( window ) ) {
//TODO: add message box after string freeze
kWarning() << "Unable to start Akonadi server, exit application";
return 1;
}
+#endif
return app.exec();
}
diff --git a/kmail/kmmainwidget.cpp b/kmail/kmmainwidget.cpp
index a31973a..10b14e4 100644
--- a/kmail/kmmainwidget.cpp
+++ b/kmail/kmmainwidget.cpp
@@ -165,6 +165,9 @@ using KMail::TemplateParser;
#include <errno.h> // ugh
+#include <akonadi/control.h>
+#include <akonadi/servermanager.h>
+
#include "kmmainwidget.moc"
K_GLOBAL_STATIC( KMMainWidget::PtrList, theMainWidgetList )
@@ -186,6 +189,10 @@ KMMainWidget::KMMainWidget( QWidget *parent, KXMLGUIClient *aGUIClient,
mVacationIndicatorActive( false ),
mGoToFirstUnreadMessageInSelectedFolder( false )
{
+#if KDE_IS_VERSION(4,6,0)
+ Akonadi::Control::widgetNeedsAkonadi(this);
+ Akonadi::ServerManager::start();
+#endif
// must be the first line of the constructor:
mStartupDone = false;
mWasEverShown = false;
diff --git a/kmail/main.cpp b/kmail/main.cpp
index f39ca5f..c2dd1c3 100644
--- a/kmail/main.cpp
+++ b/kmail/main.cpp
@@ -145,12 +145,14 @@ int main(int argc, char *argv[])
app.setEventLoopReached();
app.delayedInstanceCreation();
+#if !KDE_IS_VERSION(4,6,0)
// Start Akonadi
if ( !Akonadi::Control::start( kmkernel->getKMMainWidget() ) ) {
//TODO: add message box after string freeze
kWarning() << "Unable to start Akonadi server, exit application";
return 1;
}
+#endif
// Go!
int ret = qApp->exec();
diff --git a/kontact/src/main.cpp b/kontact/src/main.cpp
index 356aa57..cb4a235 100644
--- a/kontact/src/main.cpp
+++ b/kontact/src/main.cpp
@@ -199,9 +199,11 @@ int main( int argc, char **argv )
KontactApp app;
+#if !KDE_IS_VERSION(4,6,0)
// KDE 4.4: do akonadi startup before creating any window, since creating
// the window loads kmail. In 4.5 we'll do this startup async instead.
Akonadi::Control::start( 0 );
+#endif
// Qt doesn't treat the system tray as a window, and therefore Qt would quit
// the event loop when an error message is clicked away while Kontact is in the
|