emulator: launch skin process after display initialized 13/25313/1
authorSeokYeon Hwang <syeon.hwang@samsung.com>
Tue, 10 Jun 2014 01:57:11 +0000 (10:57 +0900)
committerliucm <chunmei.liu@intel.com>
Fri, 1 Aug 2014 23:41:45 +0000 (16:41 -0700)
Change-Id: I3a706c56a8346894a04c37f2d6e1ed213ca6a399
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
tizen/src/emulator.c
tizen/src/emulator.h
vl.c

index 082a215b9154d14e7a287a5f890be0725b10978c..76be5fa51fbb45c3a6b90b1a96503a593d3dd106 100644 (file)
@@ -332,10 +332,6 @@ const gchar *prepare_maru(const gchar * const kernel_cmdline)
 {
     INFO("Prepare maru specified feature\n");
 
-    INFO("Construct main window\n");
-
-    construct_main_window(_skin_argc, _skin_argv, _qemu_argc, _qemu_argv);
-
     g_strlcpy(maru_kernel_cmdline, kernel_cmdline, LEN_MARU_KERNEL_CMDLINE);
 
     /* Prepare basic features */
@@ -353,6 +349,13 @@ const gchar *prepare_maru(const gchar * const kernel_cmdline)
     return maru_kernel_cmdline;
 }
 
+void start_skin(void)
+{
+    INFO("Start skin\n");
+
+    construct_main_window(_skin_argc, _skin_argv, _qemu_argc, _qemu_argv);
+}
+
 int qemu_main(int argc, char **argv, char **envp);
 
 #ifdef SUPPORT_LEGACY_ARGS
index 5dc6db0f3c6d018eb7a680e55c50d47faa78d0dd..400992c7c3a664668a05ee9cdbca038a105c74e4 100644 (file)
@@ -51,6 +51,7 @@ extern gchar log_path[];
 void exit_emulator(void);
 char *get_bin_path(void);
 const gchar * prepare_maru(const gchar * const kernel_cmdline);
+void start_skin(void);
 
 const gchar * get_log_path(void);
 int maru_device_check(QemuOpts *opts);
diff --git a/vl.c b/vl.c
index cded55c6151da6be333df475e88ff7e1c52e88aa..73495eed33a2f26cca1d847c61d4c95f7cec4dce 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -4083,13 +4083,6 @@ int main(int argc, char **argv, char **envp)
     // W/A for preserve larger continuous heap for RAM.
     preallocated_ptr = g_malloc(ram_size);
 
-    if (skin_disabled == 1) {
-        /* do not start skin client process */
-        set_emul_skin_enable(false);
-    } else {
-        set_emul_skin_enable(true);
-    }
-
     kernel_cmdline = qemu_opt_get(qemu_get_machine_opts(), "append");
     // Returned variable points different address from input variable.
     kernel_cmdline = prepare_maru(kernel_cmdline);
@@ -4594,6 +4587,13 @@ int main(int argc, char **argv, char **envp)
 #if defined(CONFIG_MARU)
     case DT_MARU:
         maru_display_init(ds);
+        if (skin_disabled == 1) {
+            /* do not start skin client process */
+            set_emul_skin_enable(false);
+        } else {
+            set_emul_skin_enable(true);
+        }
+        start_skin();
         break;
 #endif
 #if defined(CONFIG_SDL)