heckflosse
(Ingo Weyrich)
February 8, 2018, 11:42am
21
@HIRAM can you try this patch please?
diff --git a/rtgui/multilangmgr.cc b/rtgui/multilangmgr.cc
index b4896d69..23bf4c45 100644
--- a/rtgui/multilangmgr.cc
+++ b/rtgui/multilangmgr.cc
@@ -117,9 +117,13 @@ void setGtkLanguage(const Glib::ustring &language)
auto l = localeToLang.getLocale(language);
#ifdef WIN32
putenv(("LANG=" + l).c_str());
+#else
+#ifdef __APPLE__
+ setenv("LANG", (l + ".UTF-8").c_str(), true);
#else
setenv("LANG", l.c_str(), true);
#endif
+#endif
}
}
HIRAM
(Richard E Barber)
February 8, 2018, 5:54pm
22
heckflosse:
@heckflosse , still have the problems and crash when switching to queue.
HIRAM
(Richard E Barber)
February 8, 2018, 6:21pm
23
I even tried
#elifdef __APPLE__
{;} //do nothing
but always the same crashâŠ
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libcairomm-1.0.1.dylib 0x000000010a47efe0 Cairo::Context::set_source(Cairo::RefPtr<Cairo::Surface> const&, double, double) + 16 (surface.h:364)
1 rawtherapee-bin 0x00000001087262ab ThumbBrowserEntryBase::draw(Cairo::RefPtr<Cairo::Context>) + 699
2 rawtherapee-bin 0x0000000108723081 ThumbBrowserBase::Internal::on_draw(Cairo::RefPtr<Cairo::Context> const&) + 369
3 libgtkmm-3.0.1.dylib 0x0000000109726f2f Gtk::Widget_Class::draw_callback(_GtkWidget*, _cairo*) + 175
4 libgtk-3.0.dylib 0x0000000109e1971c gtk_widget_draw_internal + 364 (gtkwidget.c:7027)
5 libgtk-3.0.dylib 0x0000000109c35e9a gtk_container_propagate_draw + 362 (gtkcontainer.c:3840)
6 libgtk-3.0.dylib 0x0000000109c36443 gtk_container_draw + 147 (gtkcontainer.c:3655)
hening
February 8, 2018, 11:43pm
24
Iâm not a developer, so my idea is probably naĂŻve, but let go: Is it not possible just to take the corresponding parts of the code from RT 4.2 which had overcome this problem, unlike earlier versions?
hening
February 9, 2018, 12:13am
26
I have no idea what gtk means, but I have a version of RT 4.2 that has gtk3 in the name. That does not solve problem 2. of course. But should it not have something to do with non-ASCII characters in the Path, since also 5.3 works if the image file is on the Desktop?
houz
February 9, 2018, 10:12am
27
HIRAM:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libcairomm-1.0.1.dylib 0x000000010a47efe0 Cairo::Context::set_source(Cairo::RefPtr<Cairo::Surface> const&, double, double) + 16 (surface.h:364)
1 rawtherapee-bin 0x00000001087262ab ThumbBrowserEntryBase::draw(Cairo::RefPtr<Cairo::Context>) + 699
2 rawtherapee-bin 0x0000000108723081 ThumbBrowserBase::Internal::on_draw(Cairo::RefPtr<Cairo::Context> const&) + 369
3 libgtkmm-3.0.1.dylib 0x0000000109726f2f Gtk::Widget_Class::draw_callback(_GtkWidget*, _cairo*) + 175
4 libgtk-3.0.dylib 0x0000000109e1971c gtk_widget_draw_internal + 364 (gtkwidget.c:7027)
5 libgtk-3.0.dylib 0x0000000109c35e9a gtk_container_propagate_draw + 362 (gtkcontainer.c:3840)
6 libgtk-3.0.dylib 0x0000000109c36443 gtk_container_draw + 147 (gtkcontainer.c:3655)
That seems to correspond to this code:
|| (parent->getLocation() == ThumbBrowserBase::THLOC_EDITOR && options.filmStripShowFileNames && !options.filmStripOverlayedFileNames)) {
// dimensions of the info text
getTextSizes (infow, infoh);
infoh += textGap;
//preh -= infoh;
height += infoh;
}
// Minimum size for thumbs
if (preh < 24) {
preh = 24;
height = preh + (upperMargin + 2 * borderWidth + lowerMargin) + bsh + infoh;
}
calcThumbnailSize (); // recalculates prew
width = prew + 2 * sideMargin + 2 * borderWidth;
if ( (parent->getLocation() != ThumbBrowserBase::THLOC_EDITOR && options.showFileNames && !options.overlayedFileNames)
|| (parent->getLocation() == ThumbBrowserBase::THLOC_EDITOR && options.filmStripShowFileNames && !options.filmStripOverlayedFileNames)) {
width = prew + 2 * sideMargin + 2 * borderWidth;
Now, when backBuffer
is NULL or garbage that will crash. Can that happen? After all, that case is checked a few lines earlier? Yes, it can, as updateBackBuffer
returns early when there is no parent:
If any of that is relevant I donât know. But it might be a start for some further debugging.
Edit: I might have been wrong there. It could be that backbuffer
is fine but that it has no surface set.
floessie
(Flössie)
February 9, 2018, 10:36am
28
Thanks, @houz , for looking into it. Our current problem is, why locales are so difficult (under macOS). I would be really glad, if you could share some thoughts on the issue .
Thanks,
Flössie
HIRAM
(Richard E Barber)
February 9, 2018, 6:59pm
29
houz:
Now, when backBuffer is NULL or garbage that will crash. Can that happen? After all, that case is checked a few lines earlier? Yes, it can, as updateBackBuffer returns early when there is no parent:
github.com
Beep6581/RawTherapee/blob/dev/rtgui/thumbbrowserentrybase.cc#L93-L95
if (!parent) {
return;
}
If any of that is relevant I donât know. But it might be a start for some further debugging.
Edit: I might have been wrong there. It could be that backbuffer is fine but that it has no surface set
Interesting @houz
Perhaps having a weird combo like en_DE causes problems with backBuffer or surface?