*/
#include "qimage_wrapper.h"
+#include "common.h"
#ifdef USE_KDE4
#include <kcomponentdata.h>
#include <QImage>
#include <QSysInfo>
-#include <QApplication>
#include <QMutex>
#include <QtEndian>
#include <QTemporaryFile>
-#include <QLocale>
#ifdef USE_EXIF
#include <libexif/exif-data.h>
static KComponentData *instance = 0L;
#endif
-static QApplication *app = NULL;
-
static void qimage_delete( void *data )
{
QImage *image = ( QImage * )data;
sprintf( image_key, "%d", image_idx );
int disable_exif = mlt_properties_get_int( producer_props, "disable_exif" );
-
-
- if ( app == NULL )
- {
- if ( qApp )
- {
- app = qApp;
- }
- else
- {
-#ifdef linux
- if ( getenv("DISPLAY") == 0 )
- {
- mlt_log_panic( MLT_PRODUCER_SERVICE( producer ), "Error, cannot render titles without an X11 environment.\nPlease either run melt from an X session or use a fake X server like xvfb:\nxvfb-run -a melt (...)\n" );
- return -1;
- }
-#endif
- int argc = 1;
- char* argv[1];
- argv[0] = (char*) "xxx";
- app = new QApplication( argc, argv );
- const char *localename = mlt_properties_get_lcnumeric( MLT_SERVICE_PROPERTIES( MLT_PRODUCER_SERVICE( producer ) ) );
- QLocale::setDefault( QLocale( localename ) );
- }
- }
+
+ if ( !createQApplicationIfNeeded( MLT_PRODUCER_SERVICE(producer) ) )
+ return -1;
if ( image_idx != self->qimage_idx )
self->qimage = NULL;