diff -uNrb digikam.orig/digikam/digikam/albummanager.cpp digikam/digikam/digikam/albummanager.cpp
--- digikam.orig/digikam/digikam/albummanager.cpp	2012-02-08 17:49:34.000000000 -0600
+++ digikam/digikam/digikam/albummanager.cpp	2012-04-19 07:07:05.839438407 -0500
@@ -1579,16 +1579,16 @@
 
         // Check if Year Album already exist.
         DAlbum *yAlbum = 0;
-        AlbumIterator it(d->rootDAlbum);
-        while (it.current())
+        AlbumIterator it2(d->rootDAlbum);
+        while (it2.current())
         {
-            DAlbum* a = (DAlbum*)(*it);
+            DAlbum* a = (DAlbum*)(*it2);
             if (a->date() == TQDate(year, 1, 1) && a->range() == DAlbum::Year)
             {
                 yAlbum = a;
                 break;
             }
-            ++it;
+            ++it2;
         }
 
         // If no, create Year album.
diff -uNrb digikam.orig/digikam/kioslave/digikamthumbnail.cpp digikam/digikam/kioslave/digikamthumbnail.cpp
--- digikam.orig/digikam/kioslave/digikamthumbnail.cpp	2012-02-08 17:49:34.000000000 -0600
+++ digikam/digikam/kioslave/digikamthumbnail.cpp	2012-04-19 13:19:11.058235348 -0500
@@ -392,7 +392,7 @@
         return qimage;
     }
 
-    if (setjmp(png_ptr->jmpbuf))
+    if (setjmp(png_jmpbuf(png_ptr)))
     {
         png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
         fclose(f);
@@ -413,16 +413,16 @@
     if (color_type == PNG_COLOR_TYPE_PALETTE)
         png_set_expand(png_ptr);
 
-    if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
+    if (color_type == PNG_COLOR_TYPE_RGB_ALPHA)
         has_alpha = 1;
 
-    if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+    if (color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
     {
         has_alpha = 1;
         has_grey = 1;
     }
 
-    if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY)
+    if (color_type == PNG_COLOR_TYPE_GRAY)
         has_grey = 1;
 
     unsigned char **lines;
diff -uNrb digikam.orig/digikam/libs/dimg/loaders/pngloader.cpp digikam/digikam/libs/dimg/loaders/pngloader.cpp
--- digikam.orig/digikam/libs/dimg/loaders/pngloader.cpp	2012-02-08 17:49:34.000000000 -0600
+++ digikam/digikam/libs/dimg/loaders/pngloader.cpp	2012-04-18 23:41:40.695988429 -0500
@@ -120,7 +120,7 @@
     // PNG error handling. If an error occurs during reading, libpng
     // will jump here
 
-    if (setjmp(png_ptr->jmpbuf))
+    if (setjmp(png_jmpbuf(png_ptr)))
     {
         DDebug() << k_funcinfo << "Internal libPNG error during reading file. Process aborted!" << endl;
         png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
@@ -526,7 +526,7 @@
     // PNG error handling. If an error occurs during writing, libpng
     // will jump here
 
-    if (setjmp(png_ptr->jmpbuf))
+    if (setjmp(png_jmpbuf(png_ptr))))
     {
         DDebug() << k_funcinfo << "Internal libPNG error during writing file. Process aborted!" << endl;
         fclose(f);
