freebsd-ports/graphics/rawtherapee/files/patch-202250
Matthias Andree fd9c06a376 Fix devel/glib20-induced abort() with dir monitoring.
Note: untested in poudriere since texlive-base is currently defunct.

I could reproduce the problem on 10.1-amd64 on a bare metal build
and check that Christoph's patch works, so committing it. Please report
fall-out in the PR indicated below.

+ Bump PORTREVISION to trigger rebuild.

PR:		202250
Submitted by:	Christoph Moench-Tegeder
2015-08-23 13:52:27 +00:00

20 lines
1,002 B
Text

--- rtgui/dirbrowser.cc.orig 2015-08-11 19:57:03.809587000 +0200
+++ rtgui/dirbrowser.cc 2015-08-11 20:16:28.320220000 +0200
@@ -223,9 +223,14 @@
Glib::RefPtr<WinDirMonitor> monitor = Glib::RefPtr<WinDirMonitor>(new WinDirMonitor (iter->get_value (dtColumns.dirname), this));
iter->set_value (dtColumns.monitor, monitor);
#else
- Glib::RefPtr<Gio::FileMonitor> monitor = dir->monitor_directory ();
- iter->set_value (dtColumns.monitor, monitor);
- monitor->signal_changed().connect (sigc::bind(sigc::mem_fun(*this, &DirBrowser::file_changed), iter, dir->get_parse_name()));
+ Glib::RefPtr<Gio::FileMonitor> monitor;
+ try {
+ monitor = dir->monitor_directory ();
+ iter->set_value (dtColumns.monitor, monitor);
+ monitor->signal_changed().connect (sigc::bind(sigc::mem_fun(*this, &DirBrowser::file_changed), iter, dir->get_parse_name()));
+ } catch (Glib::Error &err) {
+ fprintf (stderr, "cannot create directory monitor: %s\n", err.what().c_str());
+ }
#endif
}