Don't show the window until it's configured

On OSX, the window was being shown as soon as it was created, before
adding views, adjusting its position, etc. Crucially, this is before
SDL has set up the internal state it needs to draw to the window.

When adjusting the window position, if the new position is not on the
default display, the NSWindow will attempt to redraw (since it had to
reallocate resources and lost any prior image). SDL crashes when this
happens because it still only has partial state.

This change defers showing the window until it's configured and all
the necessary state has been set up. The calls to show the window at
the right time were already there, just redundant.

Bug: 40556
Change-Id: I272a12f260bd71d271a03a0f74b698ecc5e498f3
1 file changed
tree: 1b26e1ce4245afc4074f19e83695f3a84a67a72c
  1. android/
  2. audio/
  3. block/
  4. distrib/
  5. docs/
  6. elff/
  7. fpu/
  8. gdb-xml/
  9. hw/
  10. images/
  11. memcheck/
  12. pc-bios/
  13. proxy/
  14. slirp/
  15. slirp-android/
  16. target-arm/
  17. target-i386/
  18. target-mips/
  19. tcg/
  20. telephony/
  21. .gitignore
  22. a.out.h
  23. acl.c
  24. acl.h
  25. aes.c
  26. aes.h
  27. aio-android.c
  28. aio.c
  29. alpha.ld
  30. android-configure.sh
  31. android-rebuild.sh
  32. android-trace.h
  33. android-trace_common.h
  34. Android.mk
  35. arch_init.c
  36. arch_init.h
  37. arm-dis.c
  38. arm-semi.c
  39. arm.ld
  40. async.c
  41. balloon.h
  42. block.c
  43. block.h
  44. block_int.h
  45. blockdev.c
  46. blockdev.h
  47. bswap.h
  48. bt-host.c
  49. bt-host.h
  50. bt-vhci.c
  51. buffered_file.c
  52. buffered_file.h
  53. cache-utils.c
  54. cache-utils.h
  55. cbuffer.c
  56. cbuffer.h
  57. Changelog
  58. CHANGES.TXT
  59. charpipe.c
  60. charpipe.h
  61. CleanSpec.mk
  62. compatfd.c
  63. compatfd.h
  64. console.c
  65. console.h
  66. COPYING
  67. COPYING.LIB
  68. cpu-all.h
  69. cpu-common.h
  70. cpu-defs.h
  71. cpu-exec.c
  72. cpus.c
  73. cpus.h
  74. curses.c
  75. curses_keys.h
  76. cutils.c
  77. d3des.c
  78. d3des.h
  79. def-helper.h
  80. device_tree.c
  81. device_tree.h
  82. dis-asm.h
  83. disas.c
  84. disas.h
  85. dma-helpers.c
  86. dma.h
  87. dyngen-exec.h
  88. dynlink-static.c
  89. dynlink.h
  90. elf.h
  91. elf_ops.h
  92. envlist.c
  93. envlist.h
  94. exec-all.h
  95. exec.c
  96. feature_to_c.sh
  97. gdbstub.c
  98. gdbstub.h
  99. gen-charmap.py
  100. gen-icount.h
  101. gen-skin.py
  102. hax.h
  103. host-defs.h
  104. host-utils.c
  105. host-utils.h
  106. hostregs_helper.h
  107. hpet.h
  108. hxtool
  109. i386-dis.c
  110. i386-vl.ld
  111. i386.ld
  112. ia64.ld
  113. input.c
  114. INSTALL
  115. iohandler.c
  116. iolooper-select.c
  117. iolooper.h
  118. ioport-user.c
  119. ioport.c
  120. ioport.h
  121. json-lexer.c
  122. json-lexer.h
  123. json-parser.c
  124. json-parser.h
  125. json-streamer.c
  126. json-streamer.h
  127. keymaps.c
  128. keymaps.h
  129. kqemu.c
  130. kqemu.h
  131. kvm-all.c
  132. kvm-android.c
  133. kvm-android.h
  134. kvm.h
  135. LICENSE
  136. linux_keycodes.h
  137. loader.c
  138. loadpng.c
  139. m68k.ld
  140. Makefile
  141. Makefile.android
  142. Makefile.common
  143. Makefile.target
  144. migration-dummy-android.c
  145. migration-exec.c
  146. migration-tcp-android.c
  147. migration-tcp.c
  148. migration.c
  149. migration.h
  150. mips-dis.c
  151. module.c
  152. module.h
  153. MODULE_LICENSE_GPL
  154. monitor-android.h
  155. monitor.c
  156. monitor.h
  157. net-android.c
  158. net-checksum.c
  159. net.c
  160. net.h
  161. NOTICE
  162. notify.c
  163. notify.h
  164. offset_layout.py
  165. os-posix.c
  166. os-win32.c
  167. osdep.c
  168. osdep.h
  169. oslib-posix.c
  170. oslib-win32.c
  171. path.c
  172. poison.h
  173. posix-aio-compat.c
  174. ppc-dis.c
  175. ppc.ld
  176. qbool.c
  177. qbool.h
  178. qdict.c
  179. qdict.h
  180. qemu-aio.h
  181. qemu-barrier.h
  182. qemu-char.c
  183. qemu-char.h
  184. qemu-common.h
  185. qemu-config.c
  186. qemu-config.h
  187. qemu-error.c
  188. qemu-error.h
  189. qemu-io.c
  190. qemu-lock.h
  191. qemu-log.h
  192. qemu-malloc.c
  193. qemu-monitor.hx
  194. qemu-objects.h
  195. qemu-option.c
  196. qemu-option.h
  197. qemu-options.h
  198. qemu-options.hx
  199. qemu-os-posix.h
  200. qemu-os-win32.h
  201. qemu-queue.h
  202. qemu-sockets-android.c
  203. qemu-sockets.c
  204. qemu-thread.c
  205. qemu-thread.h
  206. qemu-timer-common.c
  207. qemu-timer.c
  208. qemu-timer.h
  209. qemu_debug.h
  210. qemu_file.h
  211. qemu_socket.h
  212. qemu_timers.h
  213. qerror.c
  214. qerror.h
  215. qfloat.c
  216. qfloat.h
  217. qint.c
  218. qint.h
  219. qjson.c
  220. qjson.h
  221. qlist.c
  222. qlist.h
  223. qobject.h
  224. qstring.c
  225. qstring.h
  226. readline.c
  227. readline.h
  228. README
  229. savevm.c
  230. sdl_keysym.h
  231. shaper.c
  232. shaper.h
  233. sockets.c
  234. sockets.h
  235. softmmu-semi.h
  236. softmmu_defs.h
  237. softmmu_exec.h
  238. softmmu_header.h
  239. softmmu_outside_jit.c
  240. softmmu_outside_jit.h
  241. softmmu_template.h
  242. sparc.ld
  243. sys-tree.h
  244. sysemu.h
  245. tap-win32.c
  246. targphys.h
  247. tcpdump.c
  248. tcpdump.h
  249. thunk.c
  250. thunk.h
  251. trace.c
  252. trace.h
  253. trace_common.h
  254. translate-all.c
  255. translate-op.c
  256. translate.make
  257. uboot_image.h
  258. usb-dummy-android.c
  259. usb-linux.c
  260. user-events-qemu.c
  261. user-events.h
  262. varint.c
  263. varint.h
  264. vgafont.h
  265. vl-android-ui.c
  266. vl-android.c
  267. vl.c
  268. vnc-android.c
  269. vnc-tls.h
  270. vnc.c
  271. vnc.h
  272. vnc_keysym.h
  273. vnchextile.h
  274. x86_64.ld