summaryrefslogtreecommitdiff
path: root/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp')
-rw-r--r--Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp b/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp
index 589aa70fe..e4a807bca 100644
--- a/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp
+++ b/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp
@@ -41,6 +41,17 @@
#include <wtf/MainThread.h>
#include <wtf/text/CString.h>
+#ifdef HAVE_ECORE_X
+#include <Ecore_X.h>
+#include <X11/Xlib.h>
+#include <X11/extensions/Xext.h>
+
+static int dummyExtensionErrorHandler(Display*, _Xconst char*, _Xconst char*)
+{
+ return 0;
+}
+#endif
+
#if USE(COORDINATED_GRAPHICS)
#include "CoordinatedGraphicsLayer.h"
#endif
@@ -64,6 +75,19 @@ WK_EXPORT int WebProcessMainEfl(int argc, char* argv[])
return 1;
}
+#ifdef HAVE_ECORE_X
+ XSetExtensionErrorHandler(dummyExtensionErrorHandler);
+
+ if (!ecore_x_init(0)) {
+ // Could not init ecore_x.
+ // PlatformScreenEfl and systemBeep() functions
+ // depend on ecore_x functionality.
+ ecore_shutdown();
+ eina_shutdown();
+ return 1;
+ }
+#endif
+
#if ENABLE(GLIB_SUPPORT)
g_type_init();
@@ -105,6 +129,10 @@ WK_EXPORT int WebProcessMainEfl(int argc, char* argv[])
soup_cache_dump(soupCache);
g_object_unref(soupCache);
+ ecore_x_shutdown();
+ ecore_shutdown();
+ eina_shutdown();
+
return 0;
}