X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lib%2Fqtcamgraphicsviewfinder.cpp;h=342255a9174f36059acf11ca7a1c769ee42cc499;hb=54fb1613f72fc8765aaffb6d7e816ea3567b6ded;hp=76ccad12fd8f5cd8bb2e0a3da780d73ba66da449;hpb=ddd8b7037bf34c35800f2a8cec0af45fcbd72a68;p=harmattan%2Fcameraplus diff --git a/lib/qtcamgraphicsviewfinder.cpp b/lib/qtcamgraphicsviewfinder.cpp index 76ccad1..342255a 100644 --- a/lib/qtcamgraphicsviewfinder.cpp +++ b/lib/qtcamgraphicsviewfinder.cpp @@ -11,6 +11,11 @@ public: void ensureBackend() { if (!renderer) { renderer = QtCamViewfinderRenderer::create(conf, q_ptr); + if (!renderer) { + qCritical() << "Failed to create a viewfinder renderer"; + return; + } + renderer->resize(q_ptr->size()); QObject::connect(renderer, SIGNAL(updateRequested()), q_ptr, SLOT(updateRequested())); } @@ -43,6 +48,10 @@ QtCamGraphicsViewfinder::~QtCamGraphicsViewfinder() { GstElement *QtCamGraphicsViewfinder::sinkElement() { d_ptr->ensureBackend(); + if (!d_ptr->renderer) { + return 0; + } + return d_ptr->renderer->sinkElement(); }