summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSangyoon Jang <s89.jang@samsung.com>2015-06-08 15:02:34 +0900
committerSangyoon Jang <s89.jang@samsung.com>2015-06-08 17:10:23 +0900
commit64d39b5203e873d79e863116d6d0efd3b4ca33b1 (patch)
tree12ee846a1fbf3f038b32b561b1ce3ad5b421156e
parent030c5d6d051787b71826c9ca96f35bfcadc9b54d (diff)
downloadapp-core-64d39b5203e873d79e863116d6d0efd3b4ca33b1.tar.gz
app-core-64d39b5203e873d79e863116d6d0efd3b4ca33b1.tar.bz2
app-core-64d39b5203e873d79e863116d6d0efd3b4ca33b1.zip
Fix build break
add missing dependency add missing static functions Change-Id: I8aff2ff02902dc138d2f08588e42be0222d4fd20 Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
-rw-r--r--CMakeLists.txt5
-rw-r--r--packaging/app-core.spec3
-rwxr-xr-xsrc/appcore-X.c53
3 files changed, 60 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fa4255e..c3c334a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,9 +38,12 @@ SET(HEADERS_common appcore-common.h)
INCLUDE(FindPkgConfig)
SET(APPCORE_PKG_CHECK_MODULES "dbus-1 vconf sensor aul dlog libtzplatform-config ecore")
IF (with_x11)
- SET(APPCORE_PKG_CHECK_MODULES "${APPCORE_PKG_CHECK_MODULES} x11 ecore-x")
+ SET(APPCORE_PKG_CHECK_MODULES "${APPCORE_PKG_CHECK_MODULES} x11 eina ecore-x")
+ELSEIF (with_wayland)
+ SET(APPCORE_PKG_CHECK_MODULES "${APPCORE_PKG_CHECK_MODULES} ecore-wayland")
ENDIF (with_x11)
+
pkg_check_modules(pkg_common REQUIRED ${APPCORE_PKG_CHECK_MODULES})
FOREACH(flag ${pkg_common_CFLAGS})
diff --git a/packaging/app-core.spec b/packaging/app-core.spec
index 2428648..5746efb 100644
--- a/packaging/app-core.spec
+++ b/packaging/app-core.spec
@@ -11,6 +11,9 @@ Source0: app-core-%{version}.tar.gz
%if %{with x}
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(ecore-x)
+BuildRequires: pkgconfig(eina)
+%else if %{with wayland}
+BuildRequires: pkgconfig(ecore-wayland)
%endif
Source1001: app-core.manifest
BuildRequires: pkgconfig(dbus-1)
diff --git a/src/appcore-X.c b/src/appcore-X.c
index c0a7e66..cec8eb4 100755
--- a/src/appcore-X.c
+++ b/src/appcore-X.c
@@ -26,6 +26,7 @@
#include <errno.h>
#include <signal.h>
+#include <Eina.h>
#include <X11/Xlib.h>
#include <X11/Xatom.h>
@@ -103,6 +104,58 @@ static int __find_win(Display *d, Window *win, pid_t pid)
return 0;
}
+static void __add_win_list(Eina_List **list, Window *win)
+{
+ Window w;
+ Eina_List *l;
+
+ if (!list || !win)
+ return;
+
+ EINA_LIST_FOREACH(*list, l, w) {
+ if (w == *win)
+ return;
+ }
+
+ *list = eina_list_append(*list, *win);
+}
+
+static void __foreach_win(Eina_List **list, Display *d, Window *win, pid_t pid)
+{
+ int i;
+ int r;
+ pid_t p;
+ unsigned int n;
+ Window root, parent, *child;
+
+ p = __get_win_pid(d, *win);
+ if (p == pid)
+ __add_win_list(list, win);
+
+ r = XQueryTree(d, *win, &root, &parent, &child, &n);
+ if (r) {
+ for (i = 0; i < n; i++) {
+ __foreach_win(list, d, &child[i], pid);
+ }
+ XFree(child);
+ }
+}
+
+static int __iconify_win(Eina_List *list, Display *d)
+{
+ Window w;
+ Eina_List *l;
+
+ if (!list || !d)
+ return -1;
+
+ EINA_LIST_FOREACH(list, l, w) {
+ XIconifyWindow(d, w, 0);
+ }
+
+ return 0;
+}
+
static int __raise_win(Display *d, Window win)
{
XEvent xev;