Summary: | digikam: unsupported initialization of CameraList object | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Achim Bohnet <ach> |
Component: | Import-Gphoto2 | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | caulier.gilles |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 0.9.0 |
Description
Achim Bohnet
2006-06-21 22:20:27 UTC
SVN commit 553726 by cgilles: digikam from trunk : fix initialization of CameraList object CCBUGS: 129610 M +25 -18 gpcamera.cpp M +1 -2 gpcamera.h --- trunk/extragear/graphics/digikam/utilities/cameragui/gpcamera.cpp #553725:553726 @@ -41,6 +41,10 @@ #include <qdom.h> #include <qfile.h> +// KDE includes. + +#include <kdebug.h> + // Local includes. #include "gpcamera.h" @@ -782,7 +786,7 @@ if ( count < 0) { gp_context_unref( context ); - qWarning("failed to get list of cameras"); + kdDebug() << "failed to get list of cameras!" << endl; return; } else @@ -849,39 +853,42 @@ int GPCamera::autoDetect(QString& model, QString& port) { - CameraList camList; + CameraList *camList; CameraAbilitiesList *abilList; - GPPortInfoList *infoList; - const char *camModel_, *camPort_; - GPContext *context; + GPPortInfoList *infoList; + const char *camModel_, *camPort_; + GPContext *context; context = gp_context_new(); + gp_list_new(&camList); - gp_abilities_list_new (&abilList); - gp_abilities_list_load (abilList, context); - gp_port_info_list_new (&infoList); - gp_port_info_list_load (infoList); - gp_abilities_list_detect (abilList, infoList, &camList, context); - gp_abilities_list_free (abilList); - gp_port_info_list_free (infoList); + gp_abilities_list_new(&abilList); + gp_abilities_list_load(abilList, context); + gp_port_info_list_new(&infoList); + gp_port_info_list_load(infoList); + gp_abilities_list_detect(abilList, infoList, camList, context); + gp_abilities_list_free(abilList); + gp_port_info_list_free(infoList); - gp_context_unref( context ); + gp_context_unref(context); - int count = gp_list_count (&camList); + int count = gp_list_count(camList); - if (count<=0) + if (count <= 0) { + gp_list_free(camList); return -1; } - for (int i = 0; i < count; i++) + for (int i = 0 ; i < count ; i++) { - gp_list_get_name (&camList, i, &camModel_); - gp_list_get_value (&camList, i, &camPort_); + gp_list_get_name (camList, i, &camModel_); + gp_list_get_value(camList, i, &camPort_); } model = camModel_; port = camPort_; + gp_list_free(camList); return 0; } --- trunk/extragear/graphics/digikam/utilities/cameragui/gpcamera.h #553725:553726 @@ -93,8 +93,7 @@ static void getSupportedCameras(int& count, QStringList& clist); static void getSupportedPorts(QStringList& plist); - static void getCameraSupportedPorts(const QString& model, - QStringList& plist); + static void getCameraSupportedPorts(const QString& model, QStringList& plist); static int autoDetect(QString& model, QString& port); SVN commit 553732 by cgilles: digikam from stable : fix initialization of CameraList object CCBUGS: 129610 M +57 -36 gpcamera.cpp --- branches/stable/extragear/graphics/digikam/utilities/cameragui/gpcamera.cpp #553731:553732 @@ -18,40 +18,57 @@ * * ============================================================ */ +// C Ansi includes. + +extern "C" +{ +#include <stdio.h> +#include <gphoto2.h> +} + +// C++ includes. + +#include <iostream> + +// Qt includes. + #include <qstring.h> #include <qstringlist.h> #include <qimage.h> #include <qdom.h> #include <qfile.h> -#include <iostream> +// KDE includes. -extern "C" { -#include <stdio.h> -#include <gphoto2.h> -} +#include <kdebug.h> +// Local includes. + #include "gpcamera.h" class GPCameraPrivate { public: - Camera *camera; - CameraAbilities cameraAbilities; + GPCameraPrivate() + { + camera = 0; + } - QString model; - QString port; - QString globalPath; - - bool cameraInitialized; + bool cameraInitialized; - bool thumbnailSupport; - bool deleteSupport; - bool uploadSupport; - bool mkDirSupport; - bool delDirSupport; + bool thumbnailSupport; + bool deleteSupport; + bool uploadSupport; + bool mkDirSupport; + bool delDirSupport; + QString model; + QString port; + QString globalPath; + + Camera *camera; + CameraAbilities cameraAbilities; }; class GPStatus @@ -802,38 +819,42 @@ int GPCamera::autoDetect(QString& model, QString& port) { - CameraList camList; + CameraList *camList; CameraAbilitiesList *abilList; - GPPortInfoList *infoList; - const char *camModel_, *camPort_; - GPContext *context; + GPPortInfoList *infoList; + const char *camModel_, *camPort_; + GPContext *context; - context = gp_context_new (); + context = gp_context_new(); + gp_list_new(&camList); - gp_abilities_list_new (&abilList); - gp_abilities_list_load (abilList, context); - gp_port_info_list_new (&infoList); - gp_port_info_list_load (infoList); - gp_abilities_list_detect (abilList, infoList, - &camList, context); - gp_abilities_list_free (abilList); - gp_port_info_list_free (infoList); + gp_abilities_list_new(&abilList); + gp_abilities_list_load(abilList, context); + gp_port_info_list_new(&infoList); + gp_port_info_list_load(infoList); + gp_abilities_list_detect(abilList, infoList, camList, context); + gp_abilities_list_free(abilList); + gp_port_info_list_free(infoList); - gp_context_unref( context ); + gp_context_unref(context); - int count = gp_list_count (&camList); + int count = gp_list_count(camList); - if (count<=0) { + if (count <= 0) + { + gp_list_free(camList); return -1; } - for (int i = 0; i < count; i++) { - gp_list_get_name (&camList, i, &camModel_); - gp_list_get_value (&camList, i, &camPort_); + for (int i = 0 ; i < count ; i++) + { + gp_list_get_name (camList, i, &camModel_); + gp_list_get_value(camList, i, &camPort_); } model = camModel_; port = camPort_; + gp_list_free(camList); return 0; } Fixed in svn. Closed Gilles |