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