svn commit: r395090 - in head/graphics/rawtherapee: . files

Matthias Andree mandree at FreeBSD.org
Sun Aug 23 13:52:29 UTC 2015


Author: mandree
Date: Sun Aug 23 13:52:27 2015
New Revision: 395090
URL: https://svnweb.freebsd.org/changeset/ports/395090

Log:
  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

Added:
  head/graphics/rawtherapee/files/patch-202250   (contents, props changed)
Modified:
  head/graphics/rawtherapee/Makefile

Modified: head/graphics/rawtherapee/Makefile
==============================================================================
--- head/graphics/rawtherapee/Makefile	Sun Aug 23 13:16:26 2015	(r395089)
+++ head/graphics/rawtherapee/Makefile	Sun Aug 23 13:52:27 2015	(r395090)
@@ -3,7 +3,7 @@
 
 PORTNAME=	rawtherapee
 PORTVERSION=	4.2
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	graphics
 MASTER_SITES=	http://rawtherapee.com/shared/source/
 

Added: head/graphics/rawtherapee/files/patch-202250
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/rawtherapee/files/patch-202250	Sun Aug 23 13:52:27 2015	(r395090)
@@ -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
+ }
+ 


More information about the svn-ports-all mailing list