X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmodules%2Fqimage%2Fqimage_wrapper.cpp;h=af6838eb2e1d71ed065fee5192b9f1a1660cfe12;hb=399e3ce12bafdf1e2668d69ad839f0ef4c686739;hp=168796d0f47cad62c9ef39de8f5bd9d967421ae5;hpb=eff9702ae2fe96292eab69ba0065764c83cc2a96;p=melted diff --git a/src/modules/qimage/qimage_wrapper.cpp b/src/modules/qimage/qimage_wrapper.cpp index 168796d..af6838e 100644 --- a/src/modules/qimage/qimage_wrapper.cpp +++ b/src/modules/qimage/qimage_wrapper.cpp @@ -23,16 +23,33 @@ #include "qimage_wrapper.h" #include + + +#include "config.h" + +#ifdef USE_KDE +#include +#include +#endif + #include extern "C" { #include +#ifdef USE_KDE +static KInstance *instance = 0L; +#endif + static void qimage_delete( void *data ) { QImage *image = ( QImage * )data; delete image; +#ifdef USE_KDE + if (instance) delete instance; + instance = 0L; +#endif } static void clear_buffered_image( mlt_properties producer_props, uint8_t **current_image, uint8_t **current_alpha ) @@ -57,6 +74,16 @@ static void assign_buffered_image( mlt_properties producer_props, uint8_t *curre mlt_events_unblock( producer_props, NULL ); } +void init_qimage() +{ +#ifdef USE_KDE + if (!instance) { + instance = new KInstance("qimage_prod"); + KImageIO::registerFormats(); + } +#endif +} + void refresh_qimage( mlt_frame frame, int width, int height ) { // Obtain a previous assigned qimage (if it exists)