diff --git a/rtdata/languages/Deutsch b/rtdata/languages/Deutsch
index 28cfb8e77..950a33f45 100644
--- a/rtdata/languages/Deutsch
+++ b/rtdata/languages/Deutsch
@@ -81,6 +81,7 @@
#80 25.03.2019 Erweiterung (TooWaBoo) RT 5.6
#81 15.04.2019 Erweiterung (TooWaBoo) RT 5.6
#82 25.05.2019 Erweiterung (TooWaBoo) RT 5.6
+#83 06.07.2019 Erweiterung (TooWaBoo) RT 5.6
ABOUT_TAB_BUILD;Version
ABOUT_TAB_CREDITS;Danksagungen
@@ -231,7 +232,7 @@ FILEBROWSER_POPUPMOVETO;Verschieben nach...
FILEBROWSER_POPUPOPEN;Öffnen
FILEBROWSER_POPUPOPENINEDITOR;Im Editor öffnen
FILEBROWSER_POPUPPROCESS;Zur Warteschlange hinzufügen
-FILEBROWSER_POPUPPROCESSFAST;Zur Warteschlange hinzufügen (Schnelles Exportieren)
+FILEBROWSER_POPUPPROCESSFAST;Zur Warteschlange hinzufügen\n(Schnell-Export)
FILEBROWSER_POPUPPROFILEOPERATIONS;Profiloperationen
FILEBROWSER_POPUPRANK;Bewertung
FILEBROWSER_POPUPRANK0;Nicht bewertet
@@ -984,7 +985,7 @@ MAIN_TAB_DETAIL;Details
MAIN_TAB_DETAIL_TOOLTIP;Taste: Alt + d
MAIN_TAB_DEVELOP; Batchbearbeitung
MAIN_TAB_EXIF;Exif
-MAIN_TAB_EXPORT; Exportieren
+MAIN_TAB_EXPORT; Schnell-Export
MAIN_TAB_EXPOSURE;Belichtung
MAIN_TAB_EXPOSURE_TOOLTIP;Taste: Alt + e
MAIN_TAB_FAVORITES;Favoriten
@@ -2361,6 +2362,6 @@ ZOOMPANEL_ZOOMOUT;Herauszoomen\nTaste: -
! Untranslated keys follow; remove the ! prefix after an entry is translated.
!!!!!!!!!!!!!!!!!!!!!!!!!
-!FILEBROWSER_POPUPREMOVE;Delete permanently
-!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
-!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
+FILEBROWSER_POPUPREMOVE;Unwiderruflich löschen
+FILEBROWSER_POPUPREMOVEINCLPROC;Unwiderruflich löschen\n(einschl. aller Dateien der Stabelverarbeitung)
+FILEBROWSER_SHOWNOTTRASHHINT;Nur Bilder außerhalb des Papierkorbs anzeigen.
diff --git a/rtengine/dfmanager.cc b/rtengine/dfmanager.cc
index 7de712fb5..4696af1a1 100644
--- a/rtengine/dfmanager.cc
+++ b/rtengine/dfmanager.cc
@@ -235,7 +235,7 @@ void dfInfo::updateBadPixelList( RawImage *df )
df->data[row + 2][col - 2] + df->data[row + 2][col] + df->data[row + 2][col + 2]);
if( df->data[row][col] > m * threshold ) {
- badPixelsThread.push_back( badPix(col, row) );
+ badPixelsThread.emplace_back(col, row);
}
}
@@ -566,7 +566,7 @@ int DFManager::scanBadPixelsFile( Glib::ustring filename )
if( numparms == 1 ) { // only one number in first line means, that this is the offset.
offset = x;
} else if(numparms == 2) {
- bp.push_back( badPix(x + offset, y + offset) );
+ bp.emplace_back(x + offset, y + offset);
}
while( fgets(line, sizeof(line), file ) ) {
diff --git a/rtengine/imageio.cc b/rtengine/imageio.cc
index f1fa8dbef..3b0fdcf6d 100644
--- a/rtengine/imageio.cc
+++ b/rtengine/imageio.cc
@@ -575,7 +575,11 @@ int ImageIO::loadJPEG (const Glib::ustring &fname)
my_jpeg_stdio_src (&cinfo, file);
+#if defined( WIN32 ) && defined( __x86_64__ ) && !defined(__clang__)
+ if ( __builtin_setjmp((reinterpret_cast(cinfo.src))->error_jmp_buf) == 0 ) {
+#else
if ( setjmp((reinterpret_cast(cinfo.src))->error_jmp_buf) == 0 ) {
+#endif
if (pl) {
pl->setProgressStr ("PROGRESSBAR_LOADJPEG");
pl->setProgress (0.0);
diff --git a/rtengine/jdatasrc.cc b/rtengine/jdatasrc.cc
index 0c2a13ed0..8c04a14a2 100644
--- a/rtengine/jdatasrc.cc
+++ b/rtengine/jdatasrc.cc
@@ -245,7 +245,11 @@ my_error_exit (j_common_ptr cinfo)
j_decompress_ptr dinfo = (j_decompress_ptr)cinfo;
// longjmp (((rt_jpeg_error_mgr*)(dinfo->src))->error_jmp_buf, 1);
+#if defined( WIN32 ) && defined( __x86_64__ ) && !defined(__clang__)
+ __builtin_longjmp ((reinterpret_cast(dinfo->src)) ->error_jmp_buf, 1);
+#else
longjmp ((reinterpret_cast(dinfo->src)) ->error_jmp_buf, 1);
+#endif
}
diff --git a/rtengine/pixelsmap.h b/rtengine/pixelsmap.h
index 9089ac91c..b359d61d9 100644
--- a/rtengine/pixelsmap.h
+++ b/rtengine/pixelsmap.h
@@ -20,6 +20,7 @@
*/
#include
+#include
#include
#include "noncopyable.h"
@@ -75,10 +76,10 @@ public:
}
// set pixels from a list
- int set(const std::vector &bp)
+ int set(const std::vector& bp)
{
- for (std::vector::const_iterator iter = bp.begin(); iter != bp.end(); ++iter) {
- set(iter->x, iter->y);
+ for (const auto& bad_pix : bp) {
+ set(bad_pix.x, bad_pix.y);
}
return bp.size();
@@ -86,7 +87,7 @@ public:
void clear()
{
- memset(pm, 0, h * w * base_t_size);
+ std::memset(pm, 0, h * w * base_t_size);
}
// return 0 if at least one pixel in the word(base_t) is set, otherwise return the number of pixels to skip to the next word base_t
int skipIfZero(int x, int y) const