Hello community,

here is the log from the commit of package libgphoto2 for openSUSE:12.2 checked 
in at 2012-08-09 17:55:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.2/libgphoto2 (Old)
 and      /work/SRC/openSUSE:12.2/.libgphoto2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libgphoto2", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:12.2/libgphoto2/libgphoto2.changes       2012-07-31 
14:10:45.000000000 +0200
+++ /work/SRC/openSUSE:12.2/.libgphoto2.new/libgphoto2.changes  2012-08-09 
17:56:00.000000000 +0200
@@ -1,0 +2,6 @@
+Wed Aug  1 12:31:43 UTC 2012 - [email protected]
+
+- fixed one missed gp_devs = NULL which led to more crashes
+  bnc#771743
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ lg-24-branch.patch ++++++
--- /var/tmp/diff_new_pack.7SMbw6/_old  2012-08-09 17:56:01.000000000 +0200
+++ /var/tmp/diff_new_pack.7SMbw6/_new  2012-08-09 17:56:01.000000000 +0200
@@ -1,7 +1,8 @@
-diff -ru ./camlibs/canon/canon.c 
/home/marcus/projects/libgphoto2-2_4/libgphoto2/camlibs/canon/canon.c
---- camlibs/canon/canon.c      2012-03-30 23:23:47.000000000 +0200
-+++ camlibs/canon/canon.c      2012-07-19 20:19:15.693782425 +0200
-@@ -1333,8 +1333,7 @@
+Index: camlibs/canon/canon.c
+===================================================================
+--- camlibs/canon/canon.c.orig
++++ camlibs/canon/canon.c
+@@ -1333,8 +1333,7 @@ void canon_int_find_new_image ( Camera *
                          if ( is_image ( new_name ) ) {
                                  /* Yup, we'll assume that this is the new 
image. */
                                  GP_DEBUG ( "  Found our new image file" );
@@ -11,10 +12,11 @@
                                  strcpy ( path->folder, canon2gphotopath ( 
camera, path->folder ) );
  
                                /* FIXME: Marcus: make it less large effort... 
*/
-diff -ru ./camlibs/ptp2/library.c 
/home/marcus/projects/libgphoto2-2_4/libgphoto2/camlibs/ptp2/library.c
---- camlibs/ptp2/library.c     2012-04-15 17:11:15.000000000 +0200
-+++ camlibs/ptp2/library.c     2012-07-19 20:19:15.686782359 +0200
-@@ -715,7 +715,7 @@
+Index: camlibs/ptp2/library.c
+===================================================================
+--- camlibs/ptp2/library.c.orig
++++ camlibs/ptp2/library.c
+@@ -715,7 +715,7 @@ static struct {
        {"Nikon:Coolpix L110 (PTP mode)", 0x04b0, 0x017e, PTP_CAP},
  
        /* [email protected] */
@@ -23,7 +25,7 @@
        /* Graeme Wyatt <[email protected]> */
        {"Nikon:Coolpix L120 (PTP mode)", 0x04b0, 0x0185, PTP_CAP},
        /* Kévin Ottens <[email protected]> */
-@@ -740,6 +740,8 @@
+@@ -740,6 +740,8 @@ static struct {
        {"Nikon:Coolpix S8000 (PTP mode)",0x04b0, 0x021f, 0},
        /* Aleksej Serdjukov <[email protected]> */
        {"Nikon:Coolpix S5100 (PTP mode)",0x04b0, 0x0220, 0},
@@ -32,7 +34,7 @@
        /* Nikon Coolpix 2000 */
        {"Nikon:Coolpix 2000 (PTP mode)", 0x04b0, 0x0302, 0},
        /* From IRC reporter. */
-@@ -810,6 +812,11 @@
+@@ -810,6 +812,11 @@ static struct {
        /* IRC Reporter popolon */
        {"Nikon:DSC D5100 (PTP mode)",    0x04b0, 0x0429, 
PTP_CAP|PTP_CAP_PREVIEW},
  
@@ -44,7 +46,7 @@
  #if 0
        /* Thomas Luzat <[email protected]> */
        /* this was reported as not working, mass storage only:
-@@ -1058,6 +1065,8 @@
+@@ -1058,6 +1065,8 @@ static struct {
  
        /* Martin Lasarsch at SUSE. MTP_PROPLIST returns just 0 entries */
        {"Canon:Digital IXUS 90 IS",            0x04a9, 0x3174, 
PTPBUG_DELETE_SENDS_EVENT},
@@ -53,7 +55,7 @@
  
        /* 
https://sourceforge.net/tracker/?func=detail&aid=2722422&group_id=8874&atid=358874
 */
        {"Canon:Digital IXUS 85 IS",            0x04a9, 0x3174, 
PTPBUG_DELETE_SENDS_EVENT},
-@@ -1289,6 +1298,9 @@
+@@ -1289,6 +1298,9 @@ static struct {
        {"Apple:iPod Touch 3rd Gen (PTP mode)", 0x05ac, 0x1299, 0},
        {"Apple:iPad (PTP mode)",               0x05ac, 0x129a, 0},
  
@@ -63,7 +65,7 @@
        /* 
https://sourceforge.net/tracker/index.php?func=detail&aid=1869653&group_id=158745&atid=809061
 */
        {"Pioneer:DVR-LX60D",                   0x08e4, 0x0142, 0},
  
-@@ -4555,12 +4567,14 @@
+@@ -4555,12 +4567,14 @@ get_file_func (CameraFilesystem *fs, con
                unsigned char *ximage = NULL;
                unsigned int xlen = 0;
  
@@ -81,36 +83,346 @@
                        gp_log (GP_LOG_ERROR, 
"get_file_func/GP_FILE_TYPE_PREVIEW", "size mismatch %d vs %d", size, xlen);
                set_mimetype (camera, file, 
params->deviceinfo.VendorExtensionID, oi->ThumbFormat);
                CR (gp_file_set_data_and_size (file, (char*)ximage, xlen));
-diff -ru ./libgphoto2_port/libusb1/libusb1.c 
/home/marcus/projects/libgphoto2-2_4/libgphoto2/libgphoto2_port/libusb1/libusb1.c
---- libgphoto2_port/libusb1/libusb1.c  2012-03-26 21:34:10.000000000 +0200
-+++ libgphoto2_port/libusb1/libusb1.c  2012-07-19 20:05:50.066206830 +0200
-@@ -119,6 +119,7 @@
+Index: libgphoto2_port/libusb1/libusb1.c
+===================================================================
+--- libgphoto2_port/libusb1/libusb1.c.orig
++++ libgphoto2_port/libusb1/libusb1.c
+@@ -71,6 +71,10 @@ struct _GPPortPrivateLibrary {
+ 
+       int detached;
+ 
++      time_t                          devslastchecked;
++      int                             nrofdevs;
++      struct libusb_device_descriptor *descs;
++      libusb_device                   **devs;
+ };
+ 
+ GPPortType
+@@ -79,38 +83,34 @@ gp_port_library_type (void)
+       return (GP_PORT_USB);
+ }
+ 
+-static time_t gp_devslastchecked = 0;
+-static int gp_nrofdevs = 0;
+-static struct libusb_device_descriptor        *gp_descs;
+-static libusb_device                  **gp_devs;
+ 
+ static ssize_t
+-load_devicelist (libusb_context *ctx) {
++load_devicelist (GPPortPrivateLibrary *pl) {
+       time_t  xtime;
+ 
+       time(&xtime);
+-      if (xtime != gp_devslastchecked) {
+-              if (gp_nrofdevs)
+-                      libusb_free_device_list (gp_devs, 1);
+-              free (gp_descs);
+-              gp_nrofdevs = 0;
+-              gp_devs = NULL;
+-              gp_descs = NULL;
++      if (xtime != pl->devslastchecked) {
++              if (pl->nrofdevs)
++                      libusb_free_device_list (pl->devs, 1);
++              free (pl->descs);
++              pl->nrofdevs = 0;
++              pl->devs = NULL;
++              pl->descs = NULL;
+       }
+-      if (!gp_nrofdevs) {
++      if (!pl->nrofdevs) {
+               int     i;
+ 
+-              gp_nrofdevs = libusb_get_device_list (ctx, &gp_devs);
+-              gp_descs = malloc (sizeof(gp_descs[0])*gp_nrofdevs);
+-              for (i=0;i<gp_nrofdevs;i++) {
++              pl->nrofdevs = libusb_get_device_list (pl->ctx, &pl->devs);
++              pl->descs = malloc (sizeof(pl->descs[0])*pl->nrofdevs);
++              for (i=0;i<pl->nrofdevs;i++) {
+                       int ret;
+-                      ret = libusb_get_device_descriptor(gp_devs[i], 
&gp_descs[i]);
++                      ret = libusb_get_device_descriptor(pl->devs[i], 
&pl->descs[i]);
+                       if (ret)
+                               gp_log (GP_LOG_ERROR, "libusb1", 
"libusb_get_device_descriptor(%d) returned %d", i, ret);
+               }
+       }
+-      time (&gp_devslastchecked);
+-      return gp_nrofdevs;
++      time (&pl->devslastchecked);
++      return pl->nrofdevs;
+ }
+ 
+ int
+@@ -119,6 +119,10 @@ gp_port_library_list (GPPortInfoList *li
        GPPortInfo      info;
        int             nrofdevices = 0;
        int             d, i, i1, i2, unknownint;
 +      libusb_context  *ctx;
++      libusb_device   **devs = NULL;
++      int             nrofdevs = 0;
++      struct libusb_device_descriptor *descs;
  
        /* generic matcher. This will catch passed XXX,YYY entries for 
instance. */
        info.type = GP_PORT_USB;
-@@ -126,8 +127,8 @@
+@@ -126,26 +130,33 @@ gp_port_library_list (GPPortInfoList *li
        strcpy (info.path, "^usb:");
        CHECK (gp_port_info_list_append (list, info));
  
 -      libusb_init (NULL);
 -      gp_nrofdevs = load_devicelist (NULL);
 +      libusb_init (&ctx);
-+      gp_nrofdevs = load_devicelist (ctx);
++      nrofdevs = libusb_get_device_list (ctx, &devs);
++      descs = malloc (sizeof(descs[0])*nrofdevs);
++      for (i=0;i<nrofdevs;i++) {
++              int ret;
++              ret = libusb_get_device_descriptor(devs[i], &descs[i]);
++              if (ret)
++                      gp_log (GP_LOG_ERROR, "libusb1", 
"libusb_get_device_descriptor(%d) returned %d", i, ret);
++      }
  
-       for (d = 0; d < gp_nrofdevs; d++) {
+-      for (d = 0; d < gp_nrofdevs; d++) {
++      for (d = 0; d < nrofdevs; d++) {
+               /* Devices which are definitely not cameras. */
+-              if (    (gp_descs[d].bDeviceClass == LIBUSB_CLASS_HUB)          
||
+-                      (gp_descs[d].bDeviceClass == LIBUSB_CLASS_HID)          
||
+-                      (gp_descs[d].bDeviceClass == LIBUSB_CLASS_PRINTER)      
||
+-                      (gp_descs[d].bDeviceClass == LIBUSB_CLASS_COMM) ||
+-                      (gp_descs[d].bDeviceClass == 0xe0)      /* wireless / 
bluetooth */
++              if (    (descs[d].bDeviceClass == LIBUSB_CLASS_HUB)             
||
++                      (descs[d].bDeviceClass == LIBUSB_CLASS_HID)             
||
++                      (descs[d].bDeviceClass == LIBUSB_CLASS_PRINTER) ||
++                      (descs[d].bDeviceClass == LIBUSB_CLASS_COMM)    ||
++                      (descs[d].bDeviceClass == 0xe0) /* wireless / bluetooth 
*/
+               )
+                       continue;
+               /* excepts HUBs, usually the interfaces have the classes, not
+                * the device */
+               unknownint = 0;
+-              for (i = 0; i < gp_descs[d].bNumConfigurations; i++) {
++              for (i = 0; i < descs[d].bNumConfigurations; i++) {
+                       struct libusb_config_descriptor *config;
+                       int ret;
+ 
+-                      ret = libusb_get_config_descriptor (gp_devs[d], i, 
&config);
++                      ret = libusb_get_config_descriptor (devs[d], i, 
&config);
+                       if (ret) {
+                               unknownint++;
+                               continue;
+@@ -185,22 +196,22 @@ gp_port_library_list (GPPortInfoList *li
+       /* Redo the same bus/device walk, but now add the ports with usb:x,y 
notation,
+        * so we can address all USB devices.
+        */
+-      for (d = 0; d < gp_nrofdevs; d++) {
++      for (d = 0; d < nrofdevs; d++) {
                /* Devices which are definitely not cameras. */
-@@ -239,7 +240,9 @@
+-              if (    (gp_descs[d].bDeviceClass == LIBUSB_CLASS_HUB)          
||
+-                      (gp_descs[d].bDeviceClass == LIBUSB_CLASS_HID)          
||
+-                      (gp_descs[d].bDeviceClass == LIBUSB_CLASS_PRINTER)      
||
+-                      (gp_descs[d].bDeviceClass == LIBUSB_CLASS_COMM)
++              if (    (descs[d].bDeviceClass == LIBUSB_CLASS_HUB)             
||
++                      (descs[d].bDeviceClass == LIBUSB_CLASS_HID)             
||
++                      (descs[d].bDeviceClass == LIBUSB_CLASS_PRINTER) ||
++                      (descs[d].bDeviceClass == LIBUSB_CLASS_COMM)
+               )
+                       continue;
+               /* excepts HUBs, usually the interfaces have the classes, not
+                * the device */
+               unknownint = 0;
+-              for (i = 0; i < gp_descs[d].bNumConfigurations; i++) {
++              for (i = 0; i < descs[d].bNumConfigurations; i++) {
+                       struct libusb_config_descriptor *config;
+                       int ret;
+ 
+-                      ret = libusb_get_config_descriptor (gp_devs[d], i, 
&config);
++                      ret = libusb_get_config_descriptor (devs[d], i, 
&config);
+                       if (ret) {
+                               gp_log (GP_LOG_ERROR, "libusb1", 
"libusb_get_config_descriptor(%d) returned %d", d, ret);
+                               unknownint++;
+@@ -226,8 +237,8 @@ gp_port_library_list (GPPortInfoList *li
+               info.type = GP_PORT_USB;
+               strcpy (info.name, "Universal Serial Bus");
+               snprintf (info.path,sizeof(info.path), "usb:%03d,%03d",
+-                      libusb_get_bus_number (gp_devs[d]),
+-                      libusb_get_device_address (gp_devs[d])
++                      libusb_get_bus_number (devs[d]),
++                      libusb_get_device_address (devs[d])
+               );
+               CHECK (gp_port_info_list_append (list, info));
+       }
+@@ -239,7 +250,7 @@ gp_port_library_list (GPPortInfoList *li
                strcpy (info.path, "usb:");
                CHECK (gp_port_info_list_append (list, info));
        }
 -      libusb_exit (NULL);
-+      libusb_exit (ctx);
-+      gp_nrofdevs = 0;
-+      gp_devs = NULL;
++      libusb_exit (ctx); /* should free all stuff above */
        return (GP_OK);
  }
  
+@@ -269,11 +280,10 @@ gp_port_usb_exit (GPPort *port)
+ {
+       if (port->pl) {
+               libusb_exit (port->pl->ctx);
++              free (port->pl->descs);
+               free (port->pl);
+               port->pl = NULL;
+       }
+-      if (gp_devs) libusb_free_device_list (gp_devs, 1);
+-      free (gp_descs);
+       return (GP_OK);
+ }
+ 
+@@ -744,6 +754,7 @@ gp_port_usb_find_device_lib(GPPort *port
+ {
+       char *s;
+       int d, busnr = 0, devnr = 0;
++      GPPortPrivateLibrary *pl = port->pl;
+ 
+       if (!port)
+               return (GP_ERROR_BAD_PARAMETERS);
+@@ -767,23 +778,23 @@ gp_port_usb_find_device_lib(GPPort *port
+               return GP_ERROR_BAD_PARAMETERS;
+       }
+ 
+-      gp_nrofdevs = load_devicelist (port->pl->ctx);
++      pl->nrofdevs = load_devicelist (port->pl);
+ 
+-      for (d = 0; d < gp_nrofdevs; d++) {
++      for (d = 0; d < pl->nrofdevs; d++) {
+               struct libusb_config_descriptor *confdesc;
+               int ret;
+               int config = -1, interface = -1, altsetting = -1;
+ 
+-              if ((gp_descs[d].idVendor != idvendor) ||
+-                  (gp_descs[d].idProduct != idproduct))
++              if ((pl->descs[d].idVendor != idvendor) ||
++                  (pl->descs[d].idProduct != idproduct))
+                       continue;
+ 
+-              if (busnr && (busnr != libusb_get_bus_number (gp_devs[d])))
++              if (busnr && (busnr != libusb_get_bus_number (pl->devs[d])))
+                       continue;
+-              if (devnr && (devnr != libusb_get_device_address (gp_devs[d])))
++              if (devnr && (devnr != libusb_get_device_address (pl->devs[d])))
+                       continue;
+ 
+-              port->pl->d = gp_devs[d];
++              port->pl->d = pl->devs[d];
+ 
+               gp_log (GP_LOG_VERBOSE, "libusb1",
+                       "Looking for USB device "
+@@ -791,9 +802,9 @@ gp_port_usb_find_device_lib(GPPort *port
+                       idvendor, idproduct);
+ 
+               /* Use the first config, interface and altsetting we find */
+-              gp_port_usb_find_first_altsetting(gp_devs[d], &config, 
&interface, &altsetting);
++              gp_port_usb_find_first_altsetting(pl->devs[d], &config, 
&interface, &altsetting);
+ 
+-              ret = libusb_get_config_descriptor (gp_devs[d], config, 
&confdesc);
++              ret = libusb_get_config_descriptor (pl->devs[d], config, 
&confdesc);
+               if (ret)
+                       continue;
+ 
+@@ -810,11 +821,11 @@ gp_port_usb_find_device_lib(GPPort *port
+               port->settings.usb.interface = 
confdesc->interface[interface].altsetting[altsetting].bInterfaceNumber;
+               port->settings.usb.altsetting = 
confdesc->interface[interface].altsetting[altsetting].bAlternateSetting;
+ 
+-              port->settings.usb.inep  = gp_port_usb_find_ep(gp_devs[d], 
config, interface, altsetting, LIBUSB_ENDPOINT_IN, LIBUSB_TRANSFER_TYPE_BULK);
+-              port->settings.usb.outep = gp_port_usb_find_ep(gp_devs[d], 
config, interface, altsetting, LIBUSB_ENDPOINT_OUT, LIBUSB_TRANSFER_TYPE_BULK);
+-              port->settings.usb.intep = gp_port_usb_find_ep(gp_devs[d], 
config, interface, altsetting, LIBUSB_ENDPOINT_IN, 
LIBUSB_TRANSFER_TYPE_INTERRUPT);
++              port->settings.usb.inep  = gp_port_usb_find_ep(pl->devs[d], 
config, interface, altsetting, LIBUSB_ENDPOINT_IN, LIBUSB_TRANSFER_TYPE_BULK);
++              port->settings.usb.outep = gp_port_usb_find_ep(pl->devs[d], 
config, interface, altsetting, LIBUSB_ENDPOINT_OUT, LIBUSB_TRANSFER_TYPE_BULK);
++              port->settings.usb.intep = gp_port_usb_find_ep(pl->devs[d], 
config, interface, altsetting, LIBUSB_ENDPOINT_IN, 
LIBUSB_TRANSFER_TYPE_INTERRUPT);
+ 
+-              port->settings.usb.maxpacketsize = libusb_get_max_packet_size 
(gp_devs[d], port->settings.usb.inep);
++              port->settings.usb.maxpacketsize = libusb_get_max_packet_size 
(pl->devs[d], port->settings.usb.inep);
+               gp_log (GP_LOG_VERBOSE, "libusb1",
+                       "Detected defaults: config %d, "
+                       "interface %d, altsetting %d, "
+@@ -998,6 +1009,8 @@ gp_port_usb_match_device_by_class(struct
+       if (class == 666) /* Special hack for MTP devices with MS OS 
descriptors. */
+               return gp_port_usb_match_mtp_device (dev, configno, 
interfaceno, altsettingno);
+ 
++      ret = libusb_get_device_descriptor(dev, &desc);
++
+       if (desc.bDeviceClass == class &&
+           (subclass == -1 ||
+            desc.bDeviceSubClass == subclass) &&
+@@ -1005,7 +1018,6 @@ gp_port_usb_match_device_by_class(struct
+            desc.bDeviceProtocol == protocol))
+               return 1;
+ 
+-      ret = libusb_get_device_descriptor(dev, &desc);
+ 
+       for (i = 0; i < desc.bNumConfigurations; i++) {
+               struct libusb_config_descriptor *config;
+@@ -1045,6 +1057,7 @@ gp_port_usb_find_device_by_class_lib(GPP
+ {
+       char *s;
+       int d, busnr = 0, devnr = 0;
++      GPPortPrivateLibrary *pl = port->pl;
+ 
+       if (!port)
+               return (GP_ERROR_BAD_PARAMETERS);
+@@ -1065,14 +1078,14 @@ gp_port_usb_find_device_by_class_lib(GPP
+       if (!class)
+               return GP_ERROR_BAD_PARAMETERS;
+ 
+-      gp_nrofdevs = load_devicelist (port->pl->ctx);
+-      for (d = 0; d < gp_nrofdevs; d++) {
++      pl->nrofdevs = load_devicelist (port->pl);
++      for (d = 0; d < pl->nrofdevs; d++) {
+               struct libusb_config_descriptor *confdesc;
+               int i, ret, config = -1, interface = -1, altsetting = -1;
+ 
+-              if (busnr && (busnr != libusb_get_bus_number (gp_devs[d])))
++              if (busnr && (busnr != libusb_get_bus_number (pl->devs[d])))
+                       continue;
+-              if (devnr && (devnr != libusb_get_device_address (gp_devs[d])))
++              if (devnr && (devnr != libusb_get_device_address (pl->devs[d])))
+                       continue;
+ 
+               gp_log (GP_LOG_VERBOSE, "gphoto2-port-usb",
+@@ -1080,17 +1093,17 @@ gp_port_usb_find_device_by_class_lib(GPP
+                       "(class 0x%x, subclass, 0x%x, protocol 0x%x)...", 
+                       class, subclass, protocol);
+ 
+-              ret = gp_port_usb_match_device_by_class(gp_devs[d], class, 
subclass, protocol, &config, &interface, &altsetting);
++              ret = gp_port_usb_match_device_by_class(pl->devs[d], class, 
subclass, protocol, &config, &interface, &altsetting);
+               if (!ret)
+                       continue;
+ 
+-              port->pl->d = gp_devs[d];
++              port->pl->d = pl->devs[d];
+               gp_log (GP_LOG_VERBOSE, "libusb1",
+                       "Found USB class device "
+                       "(class 0x%x, subclass, 0x%x, protocol 0x%x)", 
+                       class, subclass, protocol);
+ 
+-              ret = libusb_get_config_descriptor (gp_devs[d], config, 
&confdesc);
++              ret = libusb_get_config_descriptor (pl->devs[d], config, 
&confdesc);
+               if (ret) continue;
+ 
+               /* Set the defaults */
+@@ -1098,9 +1111,9 @@ gp_port_usb_find_device_by_class_lib(GPP
+               port->settings.usb.interface = 
confdesc->interface[interface].altsetting[altsetting].bInterfaceNumber;
+               port->settings.usb.altsetting = 
confdesc->interface[interface].altsetting[altsetting].bAlternateSetting;
+ 
+-              port->settings.usb.inep  = gp_port_usb_find_ep(gp_devs[d], 
config, interface, altsetting, LIBUSB_ENDPOINT_IN, LIBUSB_TRANSFER_TYPE_BULK);
+-              port->settings.usb.outep = gp_port_usb_find_ep(gp_devs[d], 
config, interface, altsetting, LIBUSB_ENDPOINT_OUT, LIBUSB_TRANSFER_TYPE_BULK);
+-              port->settings.usb.intep = gp_port_usb_find_ep(gp_devs[d], 
config, interface, altsetting, LIBUSB_ENDPOINT_IN, 
LIBUSB_TRANSFER_TYPE_INTERRUPT);
++              port->settings.usb.inep  = gp_port_usb_find_ep(pl->devs[d], 
config, interface, altsetting, LIBUSB_ENDPOINT_IN, LIBUSB_TRANSFER_TYPE_BULK);
++              port->settings.usb.outep = gp_port_usb_find_ep(pl->devs[d], 
config, interface, altsetting, LIBUSB_ENDPOINT_OUT, LIBUSB_TRANSFER_TYPE_BULK);
++              port->settings.usb.intep = gp_port_usb_find_ep(pl->devs[d], 
config, interface, altsetting, LIBUSB_ENDPOINT_IN, 
LIBUSB_TRANSFER_TYPE_INTERRUPT);
+               port->settings.usb.maxpacketsize = 0;
+               gp_log (GP_LOG_DEBUG, "libusb1", "inep to look for is %02x", 
port->settings.usb.inep);
+               for 
(i=0;i<confdesc->interface[interface].altsetting[altsetting].bNumEndpoints;i++) 
{
+@@ -1117,8 +1130,8 @@ gp_port_usb_find_device_by_class_lib(GPP
+                       port->settings.usb.config,
+                       port->settings.usb.interface,
+                       port->settings.usb.altsetting,
+-                      gp_descs[d].idVendor,
+-                      gp_descs[d].idProduct,
++                      pl->descs[d].idVendor,
++                      pl->descs[d].idProduct,
+                       port->settings.usb.inep,
+                       port->settings.usb.outep,
+                       port->settings.usb.intep

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to