if((ostate == DC_TRNS_MAIN) && (tr->dir == DC_TRNSD_DOWN)) {
if(tr->state == DC_TRNS_DONE) {
#ifdef HAVE_NOTIFY
- notify(&trnote, "transfer.complete", _("Transfer complete"), _("Finished downloading %ls from %ls"), getfilename(tr->path), tr->peernick);
+ if(dcpid == 0)
+ notify(&trnote, "transfer.complete", _("Transfer complete"), _("Finished downloading %ls from %ls"), getfilename(tr->path), tr->peernick);
#endif
} else {
#ifdef HAVE_NOTIFY
- notify(&trnote, "transfer.error", _("Transfer interrupted"), _("The transfer of %ls from %ls was interrupted from the other side"), getfilename(tr->path), tr->peernick);
+ if(dcpid == 0)
+ notify(&trnote, "transfer.error", _("Transfer interrupted"), _("The transfer of %ls from %ls was interrupted from the other side"), getfilename(tr->path), tr->peernick);
#endif
}
}
}
#ifdef NOTIFY
if((tr->state = DC_TRNS_MAIN) && (now - tri->lastprog > 600)) {
- notify(&trnote, "transfer.error", _("Transfer stalled"), _("The transfer of %ls from %ls has not made progress for 10 minutes"), getfilename(tr->path), tr->peernick);
+ if(dcpid == 0)
+ notify(&trnote, "transfer.error", _("Transfer stalled"), _("The transfer of %ls from %ls has not made progress for 10 minutes"), getfilename(tr->path), tr->peernick);
}
#endif
}
dc_uimisc_handlenotify(resp);
updatetrinfo();
}
+ dc_freeresp(resp);
}
updatewrite();
}
}
}
+void cb_shm_dolconf_activate(GtkWidget *uu1, gpointer uu2)
+{
+ int i;
+
+ if((dcpid = fork()) == 0) {
+ for(i = 3; i < FD_SETSIZE; i++)
+ close(i);
+ execlp("dolconf", "dolconf", NULL);
+ perror("dolconf");
+ exit(127);
+ }
+}
+
void cb_shm_dolcon_activate(GtkWidget *uu1, gpointer uu2)
{
dolcon();