summaryrefslogtreecommitdiff
path: root/src/gfilenotify.c
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2015-08-21 11:40:38 +0200
committerMichael Albinus <michael.albinus@gmx.de>2015-08-21 11:40:38 +0200
commit21c2b4ac52e2b1eb971e6f1e039db9108949e0eb (patch)
tree4ff353bff030a55c03a18fe357dbf4ce3f29762d /src/gfilenotify.c
parentb77bdb50ad44888d0544479f5bf74635ac9b06c1 (diff)
downloademacs-21c2b4ac52e2b1eb971e6f1e039db9108949e0eb.tar.gz
* src/gfilenotify.c (Fgfile_add_watch):
Handle errors from g_file_monitor.
Diffstat (limited to 'src/gfilenotify.c')
-rw-r--r--src/gfilenotify.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/gfilenotify.c b/src/gfilenotify.c
index 5488fa38507..5c6ebe65d87 100644
--- a/src/gfilenotify.c
+++ b/src/gfilenotify.c
@@ -150,6 +150,7 @@ will be reported only in case of the `moved' event. */)
GFile *gfile;
GFileMonitor *monitor;
GFileMonitorFlags gflags = G_FILE_MONITOR_NONE;
+ GError *gerror = NULL;
/* Check parameters. */
CHECK_STRING (file);
@@ -172,7 +173,14 @@ will be reported only in case of the `moved' event. */)
gflags |= G_FILE_MONITOR_SEND_MOVED;
/* Enable watch. */
- monitor = g_file_monitor (gfile, gflags, NULL, NULL);
+ monitor = g_file_monitor (gfile, gflags, NULL, &gerror);
+ if (gerror)
+ {
+ char msg[1024];
+ strcpy (msg, gerror->message);
+ g_error_free (gerror);
+ xsignal1 (Qfile_notify_error, build_string (msg));
+ }
if (! monitor)
xsignal2 (Qfile_notify_error, build_string ("Cannot watch file"), file);