delete all instances.
fix closing swapper thread.
notice: But with Qt, no QObject can be instantiated before QApplication.
QApplication sets up the proper environment. (e.g. mainwindow, uiInfo)
Change-Id: I9a14de855da52298becc9fa54ed904f5e7fd971c
Signed-off-by: Munkyu Im <munkyu.im@samsung.com>
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
graphic_hw_invalidate(NULL);
}
+void qt5_graphic_hw_update(void)
+{
+ graphic_hw_update(NULL);
+}
+
int qt5_graphic_hw_display(void)
{
console_ch_t displayed = 0;
void maru_qt5_display_quit(void)
{
- qt5_destroy();
-
if (qt5_console) {
g_free(qt5_console);
qt5_console = NULL;
void maru_qt5_display_init(MaruDisplayChangeListener *mdcl, int full_screen)
{
int i;
-
#ifdef SDL_THREAD
qemu_mutex_init(&sdl_mutex);
qemu_cond_init(&sdl_cond);
register_displaychangelistener(&qt5_console[i].dcl);
qt5_console[i].idx = i;
}
- mdcl->fini = maru_qt5_display_quit;
+ //mdcl->fini = maru_qt5_display_quit;
if (full_screen) {
/* TODO */
}
+ atexit(qt5_destroy);
/* TODO
mouse_mode_notifier.notify = qt2_mouse_mode_change;
/* clean up */
mainwindow->terminateDisplaySwapper();
-
mainwindow->closeController();
- /* TODO : destroy mainwindow and qt5App */
-
delete uiInfo;
+ delete mainwindow;
+ delete qt5App;
}
void qt5_early_prepare(bool isOnscreen)
extern "C" {
#endif
void qt5_graphic_hw_invalidate(void);
+void qt5_graphic_hw_update(void);
int qt5_graphic_hw_display(void);
void qt5_early_prepare(bool isOnscreen);
void qt5_prepare(void);
#include "displayswwidget.h"
extern "C" {
+void qt5_graphic_hw_update(void);
int qt5_graphic_hw_display(void);
}
qt5_graphic_hw_display();
}
}
+
+ qDebug("DisplaySwapper::display() terminated");
}
MainWindow::MainWindow(UIInformation *uiInfo, QWidget *parent) :
{
if (swapper != NULL) {
swapper->setTerminating();
- qt5_graphic_hw_invalidate();
+ qt5_graphic_hw_update();
}
}