1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-19 19:59:43 +00:00

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
This commit is contained in:
Matthias Andree 2015-08-23 13:52:27 +00:00
parent 4e9f7e333b
commit fd9c06a376
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=395090
2 changed files with 21 additions and 1 deletions

View File

@ -3,7 +3,7 @@
PORTNAME= rawtherapee
PORTVERSION= 4.2
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= graphics
MASTER_SITES= http://rawtherapee.com/shared/source/

View File

@ -0,0 +1,20 @@
--- 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
}