Merge lp:~logan/ubuntu/raring/syncmaildir/debian-merge into lp:ubuntu/raring/syncmaildir

Proposed by Logan Rosen
Status: Merged
Merged at revision: 14
Proposed branch: lp:~logan/ubuntu/raring/syncmaildir/debian-merge
Merge into: lp:ubuntu/raring/syncmaildir
Diff against target: 9238 lines (+4068/-2438)
56 files modified
.pc/fix-ftbfs-libgthread-link.patch/Makefile (+26/-19)
ChangeLog (+83/-0)
DESIGN (+8/-2)
Makefile (+26/-19)
README (+71/-6)
debian/changelog (+32/-1)
debian/control (+2/-2)
debian/patches/fix-ftbfs-libgthread-link.patch (+4/-6)
debian/rules (+9/-1)
debian/syncmaildir-applet.NEWS (+13/-0)
debian/syncmaildir-applet.install (+0/-1)
debian/syncmaildir.install (+2/-0)
debian/syncmaildir.manpages (+2/-0)
mddiff.1.txt (+8/-2)
mddiff.c (+49/-18)
smd-applet.c (+1677/-1499)
smd-applet.ui (+815/-673)
smd-applet.vala (+39/-9)
smd-client (+148/-5)
smd-client.1.txt (+9/-1)
smd-common (+124/-27)
smd-config.5.txt (+21/-0)
smd-loop (+1/-1)
smd-loop.1.txt (+2/-2)
smd-pull (+7/-2)
smd-pull.1.txt (+3/-1)
smd-push (+7/-2)
smd-push.1.txt (+3/-1)
smd-restricted-shell (+26/-0)
smd-restricted-shell.1.txt (+22/-0)
smd-server (+64/-4)
smd-server.1.txt (+10/-1)
smd-translate (+29/-3)
smd-translate.1.txt (+5/-0)
smd-uniform-names (+99/-0)
smd-uniform-names.1.txt (+29/-0)
syncmaildir.lua (+133/-87)
tests.d/client-server/summarize.sh (+1/-1)
tests.d/common (+46/-36)
tests.d/mddiff/02-first-run (+2/-0)
tests.d/mddiff/09-no-delete (+29/-0)
tests.d/migration/01-uniform (+18/-0)
tests.d/migration/02-unif-w-trans (+28/-0)
tests.d/migration/03-fail-not-first-sync (+12/-0)
tests.d/migration/04-noop (+16/-0)
tests.d/migration/05-unif-w-trans-w-exclude (+52/-0)
tests.d/migration/06-unif-bug-zack (+33/-0)
tests.d/pull-push/09-pull-dry-run (+4/-0)
tests.d/pull-push/14-translator (+7/-6)
tests.d/pull-push/20-push-verbose (+18/-0)
tests.d/pull-push/21-pull-verbose (+16/-0)
tests.d/pull-push/22-local-pull (+28/-0)
tests.d/pull-push/23-smd-translate-bug (+95/-0)
tests.d/pull-push/24-local-translator (+26/-0)
tests.d/pull-push/25-pull-nodel (+19/-0)
tests.d/pull-push/26-check-dot-dot (+10/-0)
To merge this branch: bzr merge lp:~logan/ubuntu/raring/syncmaildir/debian-merge
Reviewer Review Type Date Requested Status
Andrew Starr-Bochicchio (community) Approve
Ubuntu branches Pending
Review via email: mp+136290@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Andrew Starr-Bochicchio (andrewsomething) wrote :

Looks good! Uploading.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '.pc/fix-ftbfs-libgthread-link.patch/Makefile'
2--- .pc/fix-ftbfs-libgthread-link.patch/Makefile 2011-12-13 07:43:14 +0000
3+++ .pc/fix-ftbfs-libgthread-link.patch/Makefile 2012-11-26 22:25:07 +0000
4@@ -3,12 +3,12 @@
5 # should care about them
6
7 PROJECTNAME=syncmaildir
8-VERSION=1.2.2
9-COPYRIGHT=© 2008-2011 Enrico Tassi <gares@fettunta.org>
10+VERSION=1.2.5
11+COPYRIGHT=© 2008-2012 Enrico Tassi <gares@fettunta.org>
12 BINARIES=mddiff smd-applet
13 MANPAGES1=mddiff.1 smd-server.1 smd-client.1 \
14 smd-pull.1 smd-push.1 smd-loop.1 smd-applet.1 smd-translate.1 \
15- smd-check-conf.1
16+ smd-check-conf.1 smd-restricted-shell.1 smd-uniform-names.1
17 MANPAGES5=smd-config.5
18 HTML=index.html design.html hooks.html
19 DESTDIR=
20@@ -17,17 +17,17 @@
21 SF_WEB=htdocs
22 TEST_SIZE=100
23 TEST_MAILBOX=misc/Mail.TEST.tgz
24-TEST_SUITES=mddiff client-server pull-push
25+TEST_SUITES=mddiff client-server pull-push migration
26 BENCH_SIZE=25000
27 BENCH_MAILBOX=misc/Mail.BENCH.tgz
28 BENCH_SUITES=benchmarks
29 PKG_GTK=gtk+-3.0
30 SMD_APPLET_C=smd-applet.c
31 PKGS_VALA=glib-2.0 $(PKG_GTK) libnotify gconf-2.0 gee-1.0 gio-2.0
32-MIN_GLIB_VERSION=2.19.1
33-PKGCONFIG_CHECK_GLIB_VERSION=--atleast-version=$(MIN_GLIB_VERSION) glib-2.0
34+TARGET_GLIB=2.32
35+PKGCONFIG_CHECK_GLIB_VERSION=--atleast-version=$(TARGET_GLIB) glib-2.0
36 PKGCONFIG_GLIB_VERSION=--modversion glib-2.0
37-VALAC=valac-0.14
38+VALAC=valac-0.16
39 H=@
40
41 # ----------------------------------------------------------------------------
42@@ -41,8 +41,7 @@
43 SSH=ssh
44 LUAV=5.1
45 LUA=lua$(LUAV)
46-CFLAGS=-O2 -Wall -Wextra -Wcast-align -g -I .
47-CFLAGS_VALA=-O2 -w -g -I .
48+CFLAGS=-O2 -Wall -Wextra -Wcast-align -g
49 PKG_FLAGS=
50
51 # ----------------------------------------------------------------------------
52@@ -66,6 +65,7 @@
53 $H if which $(VALAC) >/dev/null; then \
54 echo "VALAC $^"; \
55 $(VALAC) -C $^ --thread --vapidir=./ \
56+ --target-glib=$(TARGET_GLIB) \
57 --pkg posix $(patsubst %,--pkg %,$(PKGS_VALA)); \
58 elif [ -e smd-applet.c ]; then \
59 echo "** No $(VALAC), reusing precompiled .c files"; \
60@@ -82,18 +82,19 @@
61 mddiff: mddiff.c smd-config.h
62 @echo CC $<
63 $H $(CC) $(CFLAGS) $< -o $@ \
64- `pkg-config $(PKG_FLAGS) --cflags --libs glib-2.0`
65+ `pkg-config $(PKG_FLAGS) --cflags --libs glib-2.0` $(LDFLAGS)
66
67 smd-applet: $(SMD_APPLET_C) smd-config.h
68 @echo CC $<
69- $H $(CC) $(CFLAGS_VALA) $< -o $@ \
70- `pkg-config $(PKG_FLAGS) --cflags --libs $(PKGS_VALA)`
71+ $H $(CC) $(CFLAGS) -w $< -o $@ \
72+ `pkg-config $(PKG_FLAGS) --cflags --libs $(PKGS_VALA)` \
73+ $(LDFLAGS)
74
75 check-build: check-w-gcc check-w-$(VALAC)
76 $H pkg-config $(PKGCONFIG_CHECK_GLIB_VERSION) || \
77 (echo glib version too old: \
78 `pkg-config $(PKGCONFIG_GLIB_VERSION)`; \
79- echo required version: $(MIN_GLIB_VERSION); \
80+ echo required version: $(TARGET_GLIB); \
81 false)
82
83 check-run: check-w-$(LUA) check-w-bash
84@@ -171,15 +172,17 @@
85 $(call install-replacing,smd-push,bin)
86 $(call install-replacing,smd-translate,bin)
87 $(call install-replacing,smd-check-conf,bin)
88+ $(call install-replacing,smd-uniform-names,bin)
89+ $(call install-replacing,smd-restricted-shell,bin)
90 $(call install-replacing,smd-loop,bin)
91 $(call install-replacing,smd-common,share/$(PROJECTNAME))
92 $(call install-replacing,syncmaildir.lua,share/lua/$(LUAV))
93
94 install-misc: $(MANPAGES1) $(MANPAGES5)
95 mkdir -p $(DESTDIR)/etc/xdg/autostart
96- cp smd-applet.desktop $(DESTDIR)/etc/xdg/autostart
97 $(call mkdir-p,share/applications)
98 $(call install,smd-applet-configure.desktop,share/applications)
99+ $(call install,smd-applet.desktop,share/applications)
100 $(call install,smd-applet.ui,share/$(PROJECTNAME)-applet)
101 $(call mkdir-p,share/man/man1)
102 $(call mkdir-p,share/man/man5)
103@@ -255,27 +258,31 @@
104 $H $(MAKE) $* \
105 BINARIES="$(subst smd-applet,,$(BINARIES))" \
106 MANPAGES1="$(subst smd-applet.1,,$(MANPAGES1))" \
107- PREFIX="$(PREFIX)" VALAC=ls H=$H
108+ PREFIX="$(PREFIX)" VALAC=ls H=$H \
109+ CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
110
111 static/%:
112 $H $(MAKE) $* \
113 CFLAGS="$(CFLAGS) -static " \
114 PKG_FLAGS="$(PKG_FLAGS) --static " \
115- PREFIX="$(PREFIX)" H=$H
116+ PREFIX="$(PREFIX)" H=$H LDFLAGS="$(LDFLAGS)"
117
118 gnome2/%:
119 $H gunzip -c misc/smd-applet-1.0.0.c.gz > misc/smd-applet-1.0.0.c
120 $H $(MAKE) $* \
121- SMD_APPLET_C=misc/smd-applet-1.0.0.c PKG_GTK=gtk+-2.0
122+ SMD_APPLET_C=misc/smd-applet-1.0.0.c PKG_GTK=gtk+-2.0 \
123+ CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" TARGET_GLIB="2.19.1"
124
125
126 osx/%:
127- $H $(MAKE) $* SED=sed PREFIX="$(PREFIX)" H=$H
128+ $H $(MAKE) $* SED=sed PREFIX="$(PREFIX)" H=$H \
129+ CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
130
131 abspath/%:
132 $H $(MAKE) $* SED=/bin/sed \
133 XDELTA=/usr/bin/xdelta SSH=/usr/bin/ssh \
134- PREFIX="$(PREFIX)" H=$H
135+ PREFIX="$(PREFIX)" H=$H \
136+ CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
137
138 .PHONY : update-smd-config
139 # eof
140
141=== modified file 'ChangeLog'
142--- ChangeLog 2011-12-01 16:17:28 +0000
143+++ ChangeLog 2012-11-26 22:25:07 +0000
144@@ -1,3 +1,86 @@
145+11/06/2012 - minor fix release - version 1.2.5
146+ * mddiff:
147+ - Hashtable from body sha1 to mail now holds a list of
148+ mails so that COPY actions are generated whenever possible.
149+ It used to be the case that on body collisions a COPYBODY
150+ action could have been generated instead.
151+ - Fix: --sha1sum works on empty files too
152+ - Better error messages for malformed db-file (including line number)
153+ * syncmaildir.lua:
154+ - During handshake handle the case in which mddiff is unable to
155+ sha1sum the db file
156+ - Code for calling external tools refactored
157+ - Optimize calls to external translator spawning only
158+ one process (translators must be line bufferd now)
159+ * smd-uniform-names, smd-client:
160+ - Fix escaping of ~ that was always performed on the local host
161+ - Handle server ERROR messages while computing renamings
162+ - Generate better smd-rename.sh script that calls cp instead
163+ of mv if the source message has to be used later on
164+ * smd-client:
165+ - Mode --dry-run prints the list of messages transferred over the
166+ network
167+
168+28/05/2012 - minor feature improvement - version 1.2.4
169+ * smd-uniform-names:
170+ - New tool to ease the migration from offlineimap.
171+ When the mailboxes have roughly the same content but emails are
172+ named differently this tool generates a shell script that
173+ renames local mails to conform to the remote mailbox
174+ * smd-applet:
175+ - XDG compliant autostart, with a button in the options window
176+ - Target GLib 2.32 and Gtk+ 3.0 for the .ui file
177+ * smd-push, smd-pull, smd-common, smd-client, smd-server:
178+ - New option -n --nodelete to not propagate deletions
179+ - Support for local synchronizations: -l option to smd-client.
180+ It is now possible to set SERVERNAME=localhost and pass -l
181+ to smd-client (via SMDCLIENTOPTS) to obtain a synchronization
182+ on the same host. (Thanks Miguel Fernandes for the idea
183+ and his time for testing/debugging my prototype implementation).
184+ - Do not use ssh if it is a local synchronization
185+ - Support for SMDCLIENTOPTS and SMDSERVEROPTS in config file
186+ - Code refactoring for external tools invocation
187+ - Put a minimal README in the hooks/ directory to tell the user
188+ what these directories are for
189+ - Fix inconsistency in escaping of the value of TRANSLATOR_LR/RL
190+ - Turn off grep buffered mode for progress reporting (Thanks
191+ Stefano Zacchiroli for enlightening me on the subject)
192+ * smd-translate:
193+ - Fix bug in removing trailing / or " or ' from the
194+ MAILBOX_REMOTE/LOCAL value
195+ - New trasnlator mode: 'move'. It just replaces MAILBOX_LOCAL
196+ with MAILBOX_REMOTE and vice versa, useful for local
197+ synchronizations
198+ * mddiff:
199+ - New option -n --no-delete to not generate DELETE actions
200+ * Makefile:
201+ - Fix templates: C/LDFLAGS are now correctly preserved
202+ * README:
203+ - Update copyright dates to include 2012
204+ - Document smd-uniform-names
205+
206+03/03/2012 - minor feature improvement - version 1.2.3
207+ * smd-pull, smd-push:
208+ - print progress report if -v is passed
209+ * smd-client:
210+ - generate progress report if verbose mode is on
211+ - generate verbose progress report during first synchronization
212+ - log "translating:" only when meaningful (i.e. not a noop)
213+ * smd-common:
214+ - create a new fifo for progress reporters
215+ - standard progress reporter printing on stdout PROGRESS: lines
216+ - use mddiff as mkdir and mkfifo (no more calls to mkfifo and mkdir)
217+ * smd-applet:
218+ - ported to vala 0.16
219+ * smd-loop:
220+ - fixed cleanup process (Thanks Ralf Schmitt for the patch)
221+ * smd-restricted-shell:
222+ - new utility to be used in .ssh/authorized_keys, see the command=
223+ option (Thanks Luca Capello for the idea and the documentation)
224+ * syncmaildir.lua:
225+ - When mddiff fails to sha1 a message print the file name (thanks
226+ Zhengdao Wang for the idea)
227+
228 01/12/2011 - minor fix - version 1.2.2
229 * smd-config.5:
230 - fixed typo and use `quotes' to delimit strings
231
232=== modified file 'DESIGN'
233--- DESIGN 2011-12-01 16:17:28 +0000
234+++ DESIGN 2012-11-26 22:25:07 +0000
235@@ -271,7 +271,7 @@
236 statistical one respectively. Then a list of improperly called tags is output.
237 Their meaning should be easy to guess.
238
239- <M> ::= "error::" <ET> | "stats::" <ST>
240+ <M> ::= "error::" <ET> | "stats::" <ST> | "stats::" <DR>
241 <ET> ::= "context(" <STR> ")"
242 "probable-cause(" <STR> ")"
243 "human-intervention(" <HI> ")"
244@@ -283,7 +283,13 @@
245 <A> ::= "run(" <STR> ")"
246 | "display-mail(" <STR> ")"
247 | "display-permissions(" <STR> ")"
248- <ET> ::= "new-mails(" <NUM> ")" <SPC> "del-mails(" <NUM> ")"
249+ <ST> ::= "new-mails(" <NUM> ")" <SPC>
250+ "del-mails(" <NUM> ")" <SPC>
251+ "bytes-received(" <NUM> ")" <SPC>
252+ "xdelta-received(" <NUM> ")" <SPC>
253+ "xdelta-received(" <NUM> ")"
254+ <DR> ::= "mail-transferred(" <ML> ")"
255+ <ML> ::= <STR> | <STR> " , " <ML>
256 <NUM> ::= `[0-9]+`
257 <SPC> ::= ` *,? *`
258
259
260=== modified file 'Makefile'
261--- Makefile 2011-12-13 07:43:14 +0000
262+++ Makefile 2012-11-26 22:25:07 +0000
263@@ -3,12 +3,12 @@
264 # should care about them
265
266 PROJECTNAME=syncmaildir
267-VERSION=1.2.2
268-COPYRIGHT=© 2008-2011 Enrico Tassi <gares@fettunta.org>
269+VERSION=1.2.5
270+COPYRIGHT=© 2008-2012 Enrico Tassi <gares@fettunta.org>
271 BINARIES=mddiff smd-applet
272 MANPAGES1=mddiff.1 smd-server.1 smd-client.1 \
273 smd-pull.1 smd-push.1 smd-loop.1 smd-applet.1 smd-translate.1 \
274- smd-check-conf.1
275+ smd-check-conf.1 smd-restricted-shell.1 smd-uniform-names.1
276 MANPAGES5=smd-config.5
277 HTML=index.html design.html hooks.html
278 DESTDIR=
279@@ -17,17 +17,17 @@
280 SF_WEB=htdocs
281 TEST_SIZE=100
282 TEST_MAILBOX=misc/Mail.TEST.tgz
283-TEST_SUITES=mddiff client-server pull-push
284+TEST_SUITES=mddiff client-server pull-push migration
285 BENCH_SIZE=25000
286 BENCH_MAILBOX=misc/Mail.BENCH.tgz
287 BENCH_SUITES=benchmarks
288 PKG_GTK=gtk+-3.0
289 SMD_APPLET_C=smd-applet.c
290 PKGS_VALA=glib-2.0 $(PKG_GTK) libnotify gconf-2.0 gee-1.0 gio-2.0 gthread-2.0
291-MIN_GLIB_VERSION=2.19.1
292-PKGCONFIG_CHECK_GLIB_VERSION=--atleast-version=$(MIN_GLIB_VERSION) glib-2.0
293+TARGET_GLIB=2.32
294+PKGCONFIG_CHECK_GLIB_VERSION=--atleast-version=$(TARGET_GLIB) glib-2.0
295 PKGCONFIG_GLIB_VERSION=--modversion glib-2.0
296-VALAC=valac-0.14
297+VALAC=valac-0.16
298 H=@
299
300 # ----------------------------------------------------------------------------
301@@ -41,8 +41,7 @@
302 SSH=ssh
303 LUAV=5.1
304 LUA=lua$(LUAV)
305-CFLAGS=-O2 -Wall -Wextra -Wcast-align -g -I .
306-CFLAGS_VALA=-O2 -w -g -I .
307+CFLAGS=-O2 -Wall -Wextra -Wcast-align -g
308 PKG_FLAGS=
309
310 # ----------------------------------------------------------------------------
311@@ -66,6 +65,7 @@
312 $H if which $(VALAC) >/dev/null; then \
313 echo "VALAC $^"; \
314 $(VALAC) -C $^ --thread --vapidir=./ \
315+ --target-glib=$(TARGET_GLIB) \
316 --pkg posix $(patsubst %,--pkg %,$(PKGS_VALA)); \
317 elif [ -e smd-applet.c ]; then \
318 echo "** No $(VALAC), reusing precompiled .c files"; \
319@@ -82,18 +82,19 @@
320 mddiff: mddiff.c smd-config.h
321 @echo CC $<
322 $H $(CC) $(CFLAGS) $< -o $@ \
323- `pkg-config $(PKG_FLAGS) --cflags --libs glib-2.0`
324+ `pkg-config $(PKG_FLAGS) --cflags --libs glib-2.0` $(LDFLAGS)
325
326 smd-applet: $(SMD_APPLET_C) smd-config.h
327 @echo CC $<
328- $H $(CC) $(CFLAGS_VALA) $< -o $@ \
329- `pkg-config $(PKG_FLAGS) --cflags --libs $(PKGS_VALA)`
330+ $H $(CC) $(CFLAGS) -w $< -o $@ \
331+ `pkg-config $(PKG_FLAGS) --cflags --libs $(PKGS_VALA)` \
332+ $(LDFLAGS)
333
334 check-build: check-w-gcc check-w-$(VALAC)
335 $H pkg-config $(PKGCONFIG_CHECK_GLIB_VERSION) || \
336 (echo glib version too old: \
337 `pkg-config $(PKGCONFIG_GLIB_VERSION)`; \
338- echo required version: $(MIN_GLIB_VERSION); \
339+ echo required version: $(TARGET_GLIB); \
340 false)
341
342 check-run: check-w-$(LUA) check-w-bash
343@@ -171,15 +172,17 @@
344 $(call install-replacing,smd-push,bin)
345 $(call install-replacing,smd-translate,bin)
346 $(call install-replacing,smd-check-conf,bin)
347+ $(call install-replacing,smd-uniform-names,bin)
348+ $(call install-replacing,smd-restricted-shell,bin)
349 $(call install-replacing,smd-loop,bin)
350 $(call install-replacing,smd-common,share/$(PROJECTNAME))
351 $(call install-replacing,syncmaildir.lua,share/lua/$(LUAV))
352
353 install-misc: $(MANPAGES1) $(MANPAGES5)
354 mkdir -p $(DESTDIR)/etc/xdg/autostart
355- cp smd-applet.desktop $(DESTDIR)/etc/xdg/autostart
356 $(call mkdir-p,share/applications)
357 $(call install,smd-applet-configure.desktop,share/applications)
358+ $(call install,smd-applet.desktop,share/applications)
359 $(call install,smd-applet.ui,share/$(PROJECTNAME)-applet)
360 $(call mkdir-p,share/man/man1)
361 $(call mkdir-p,share/man/man5)
362@@ -255,27 +258,31 @@
363 $H $(MAKE) $* \
364 BINARIES="$(subst smd-applet,,$(BINARIES))" \
365 MANPAGES1="$(subst smd-applet.1,,$(MANPAGES1))" \
366- PREFIX="$(PREFIX)" VALAC=ls H=$H
367+ PREFIX="$(PREFIX)" VALAC=ls H=$H \
368+ CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
369
370 static/%:
371 $H $(MAKE) $* \
372 CFLAGS="$(CFLAGS) -static " \
373 PKG_FLAGS="$(PKG_FLAGS) --static " \
374- PREFIX="$(PREFIX)" H=$H
375+ PREFIX="$(PREFIX)" H=$H LDFLAGS="$(LDFLAGS)"
376
377 gnome2/%:
378 $H gunzip -c misc/smd-applet-1.0.0.c.gz > misc/smd-applet-1.0.0.c
379 $H $(MAKE) $* \
380- SMD_APPLET_C=misc/smd-applet-1.0.0.c PKG_GTK=gtk+-2.0
381+ SMD_APPLET_C=misc/smd-applet-1.0.0.c PKG_GTK=gtk+-2.0 \
382+ CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" TARGET_GLIB="2.19.1"
383
384
385 osx/%:
386- $H $(MAKE) $* SED=sed PREFIX="$(PREFIX)" H=$H
387+ $H $(MAKE) $* SED=sed PREFIX="$(PREFIX)" H=$H \
388+ CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
389
390 abspath/%:
391 $H $(MAKE) $* SED=/bin/sed \
392 XDELTA=/usr/bin/xdelta SSH=/usr/bin/ssh \
393- PREFIX="$(PREFIX)" H=$H
394+ PREFIX="$(PREFIX)" H=$H \
395+ CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
396
397 .PHONY : update-smd-config
398 # eof
399
400=== modified file 'README'
401--- README 2011-12-01 16:17:28 +0000
402+++ README 2012-11-26 22:25:07 +0000
403@@ -3,7 +3,7 @@
404
405 Sync Mail Dir (`smd`) is a set of tools to synchronize a pair of mailboxes
406 in Maildir format. It is Free Software, released under the terms of GPLv3,
407-Copyright © 2008-2011 Enrico Tassi.
408+Copyright © 2008-2012 Enrico Tassi.
409
410 It differs from other solutions in terms of performances and lower
411 installation requirements. The widespread solution IMAP-server plus
412@@ -76,6 +76,14 @@
413 performs a quick check that a setup, especially when it involves
414 some folders renaming, actually works as expected. This tool is meant to
415 be manually called by the user to check a given configuration file.
416+- [`smd-restricted-shell`](smd-restricted-shell.1.html)
417+ only meant to be used in conjunction with an SSH key and specifically in
418+ the remote OpenSSH's authorized_keys file to restrict the commands allowed.
419+- [`smd-uniform-names`](smd-uniform-names.1.html)
420+ meant to be used before the first synchronization, when the content of
421+ the local and remote mailboxes is similar, but mails are named differently.
422+ This is often the case when migrating from offlineimap, that encodes
423+ some metadata in the local file names.
424 - [`smd-loop`](smd-loop.1.html)
425 runs runs smd-push and smd-pull at regular intervals as defined
426 by the user in a configuration file, in the style of a crontab, but
427@@ -198,6 +206,20 @@
428 Advanced Usage
429 ==============
430
431+### restricted remote shell
432+
433+Version `1.2.3` comes with `smd-restricted-shell` to improve security,
434+especially when using password-less SSH keys. This tool takes
435+advantage of the OpenSSH command= option, which permits to restrict
436+the command that is allowed to be executed on the remote host when the
437+login is performed using a particular SSH key.
438+
439+Once you have identified in the ~/.ssh/authorized_keys on the remote
440+host the SSH key you use together with Sync Mail Dir, prepend the line
441+as in the following example:
442+
443+ command="/usr/bin/smd-restricted-shell" ssh-rsa AAAABBBBCCCC....
444+
445 ### multiple servers
446
447 From verion `0.9.4` multiple configuration files are supported. This means
448@@ -234,7 +256,7 @@
449 `smd-push/pull` will return after the hooks terminate
450
451 Hooks should not fail, if they do so then `smd-push/pull` will fail too.
452-Sample hooks are available in the source tarball under the `sample-hooks/`.
453+Sample hooks are available in the source tarball under `sample-hooks/`.
454 Some documentation about [available hooks](hooks.html) is also present.
455
456 ### folder renaming
457@@ -275,7 +297,11 @@
458 could be:
459
460 #!/bin/sh
461- sed 's/^Maildir\(.*\)$/Mail\1/' | sed 's?/\.?/?'
462+ sed --unbuffered -e 's/^Maildir\(.*\)$/Mail\1/' -e 's?/\.?/?'
463+
464+Note the `--unbuffered`: translators should not work in buffered mode.
465+I.e. when given a line in input (terminated by `\n`) they must output a
466+line without expecting any additional input.
467
468 Translating the way back is trickier, since the leading `.` must be
469 added only to sub-folders:
470@@ -283,9 +309,9 @@
471 #!/bin/sh
472 t() {
473 if [ "$1" = Mail/cur -o "$1" = Mail/tmp -o "$1" = Mail/new ]; then
474- echo $1 | sed 's?^Mail/\(.*\)?Maildir/\1?'
475+ echo $1 | sed --unbuffered 's?^Mail/\(.*\)?Maildir/\1?'
476 else
477- echo $1 | sed 's?^Mail/\(.*\)?Maildir/.\1?'
478+ echo $1 | sed --unbuffered 's?^Mail/\(.*\)?Maildir/.\1?'
479 fi
480 }
481 while read M; do t "$M"; done
482@@ -339,6 +365,46 @@
483 the matching succeeds the derectory and all its subdirectories are skipped.
484 Thus there is no need to specify a trailing '`/*`' in every expression.
485
486+### local synchronization
487+
488+If the remote and local mailboxes are on the same filesystem, one has
489+to specify the `-l` option to `smd-client`. This option can be specified
490+adding to the configuration file `SMDCLIENTOPTS=-l` and set
491+`SERVERNAME=localhost`.
492+
493+### avoid deletions
494+
495+In some cases, usually unidirectional synchronizations, one may want
496+to not propagate deletions. E.g. one keeps a slim working mailbox but
497+pushes to a backup mailbox to save every email. For that scenario
498+smd-pull and smd-push accept a -n, --no-delete, option.
499+To avoid specifying this option every time one can put it in the
500+configuration file:
501+
502+ SMDSERVEROPTS=-n
503+
504+### migration from offlineimap
505+
506+Migrating from offlineimap may require an extra step, since the local and
507+remote mailboxes may not only differ in their names and sub folders, but also
508+in the names of the single mail messages. Indeed offlineimap encodes some
509+metadata in the file names local to the client. The `smd-translate` utility
510+translates only folder names and not messages names.
511+
512+To uniform the names used on the client to the ones used on the server you can
513+do as follows:
514+
515+1. Remove `X-OfflineIMAP` from every mail that contains it.
516+ Often the same email has that extra header line on the server but not on
517+ the client. A not so dirty way of achieving that is the following snippet:
518+ `find Mail -type f -exec sed -i '/^X-OfflineIMAP/d' {} \;`
519+
520+2. Run the `smd-uniform-names` utility.
521+ This utility has to be run before the first synchronization, but after smd
522+ is configured and `smd-check-conf` has reported no errors.
523+ `smd-uniform-names` does not modify the mailbox, but instead it generates a
524+ shell script that you can run to perform the renaming.
525+
526 Installation
527 ============
528
529@@ -356,7 +422,6 @@
530 install text mode only syncmaildir utilities on an MacOSX platform.
531
532 Runtime dependencies are: `ssh`, `xdelta`, `lua5.1` and `bash`.
533-Moreover some core utilities are also needed: `sha1sum`, `mkfifo` and `mkdir`.
534
535 Design
536 ======
537
538=== modified file 'debian/changelog'
539--- debian/changelog 2011-12-13 07:43:14 +0000
540+++ debian/changelog 2012-11-26 22:25:07 +0000
541@@ -1,3 +1,34 @@
542+syncmaildir (1.2.5-1ubuntu1) raring; urgency=low
543+
544+ * Merge from Debian unstable. Remaining changes:
545+ - fix-ftbfs-libgthread-link.patch: Fix FTBFS with libgthread linking.
546+ * Refreshed fix-ftbfs-libgthread-link.patch.
547+
548+ -- Logan Rosen <logatronico@gmail.com> Mon, 26 Nov 2012 17:14:33 -0500
549+
550+syncmaildir (1.2.5-1) unstable; urgency=low
551+
552+ * New upstream release
553+
554+ -- Enrico Tassi <gareuselesinge@debian.org> Mon, 11 Jun 2012 12:15:44 +0200
555+
556+syncmaildir (1.2.4-1) unstable; urgency=low
557+
558+ * New upstream release
559+ * NEWS.Debian announces that smd-applet is able to handle XDG compliant
560+ autostrat in user's session (no more system wide)
561+
562+ -- Enrico Tassi <gareuselesinge@debian.org> Mon, 28 May 2012 19:39:23 +0200
563+
564+syncmaildir (1.2.3-1) unstable; urgency=low
565+
566+ * New upstream release including the new utility smd-restricted-shell to
567+ be used in conjunction with .ssh/authorized_keys command option
568+ * This version of the software emits progress reports when run in verbose
569+ mode (Closes: #659263)
570+
571+ -- Enrico Tassi <gareuselesinge@debian.org> Sat, 03 Mar 2012 12:55:55 +0100
572+
573 syncmaildir (1.2.2-1ubuntu1) precise; urgency=low
574
575 * Fix FTBFS with libgthread linking.
576@@ -8,7 +39,7 @@
577
578 * New upstream release
579
580- -- Enrico Tassi <gareuselesinge@debian.org> Thu, 01 Dec 2011 16:17:28 +0100
581+ -- Enrico Tassi <gareuselesinge@debian.org> Sat, 25 Feb 2012 13:57:47 +0100
582
583 syncmaildir (1.2.1-1) unstable; urgency=low
584
585
586=== modified file 'debian/control'
587--- debian/control 2011-12-13 07:43:14 +0000
588+++ debian/control 2012-11-26 22:25:07 +0000
589@@ -4,7 +4,7 @@
590 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
591 XSBC-Original-Maintainer: Enrico Tassi <gareuselesinge@debian.org>
592 Build-Depends: debhelper (>= 7.0.50~), txt2man, pkg-config, libglib2.0-dev (>= 2.19.1), libgtk-3-dev, libnotify-dev (>= 0.7), libgconf2-dev, libgee-dev, lua5.1, xdelta, moreutils (>= 0.38)
593-Standards-Version: 3.9.1
594+Standards-Version: 3.9.3
595 Vcs-Git: git://git.debian.org/git/collab-maint/syncmaildir.git
596 Vcs-Browser: http://git.debian.org/?p=collab-maint/syncmaildir.git
597 Homepage: http://syncmaildir.sourceforge.net
598@@ -32,7 +32,7 @@
599
600 Package: syncmaildir-applet
601 Architecture: any
602-Depends: syncmaildir (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}, libgnome2-0
603+Depends: syncmaildir (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
604 Description: Sync Mail Dir GNOME applet
605 Sync Mail Dir is a set of utilities to synchronize a pair of mail boxes
606 in Maildir format, using SSH to transfer data.
607
608=== modified file 'debian/patches/fix-ftbfs-libgthread-link.patch'
609--- debian/patches/fix-ftbfs-libgthread-link.patch 2011-12-13 07:43:14 +0000
610+++ debian/patches/fix-ftbfs-libgthread-link.patch 2012-11-26 22:25:07 +0000
611@@ -1,13 +1,11 @@
612-Index: fix-ftbfs-precise/Makefile
613-===================================================================
614---- fix-ftbfs-precise.orig/Makefile 2011-12-13 06:02:56.907864000 +0000
615-+++ fix-ftbfs-precise/Makefile 2011-12-13 06:05:00.689731641 +0000
616+--- a/Makefile
617++++ b/Makefile
618 @@ -23,7 +23,7 @@
619 BENCH_SUITES=benchmarks
620 PKG_GTK=gtk+-3.0
621 SMD_APPLET_C=smd-applet.c
622 -PKGS_VALA=glib-2.0 $(PKG_GTK) libnotify gconf-2.0 gee-1.0 gio-2.0
623 +PKGS_VALA=glib-2.0 $(PKG_GTK) libnotify gconf-2.0 gee-1.0 gio-2.0 gthread-2.0
624- MIN_GLIB_VERSION=2.19.1
625- PKGCONFIG_CHECK_GLIB_VERSION=--atleast-version=$(MIN_GLIB_VERSION) glib-2.0
626+ TARGET_GLIB=2.32
627+ PKGCONFIG_CHECK_GLIB_VERSION=--atleast-version=$(TARGET_GLIB) glib-2.0
628 PKGCONFIG_GLIB_VERSION=--modversion glib-2.0
629
630=== modified file 'debian/rules'
631--- debian/rules 2011-03-04 10:53:56 +0000
632+++ debian/rules 2012-11-26 22:25:07 +0000
633@@ -9,7 +9,12 @@
634 FLAVOUR=abspath/
635
636 override_dh_auto_build:
637- $(MAKE) $(FLAVOUR)all PREFIX=usr H=
638+ $(MAKE) $(FLAVOUR)all PREFIX=usr H= \
639+ CFLAGS="$(shell dpkg-buildflags --get CFLAGS)" \
640+ LDFLAGS="$(shell dpkg-buildflags --get LDFLAGS)"
641+
642+ # Use this after weezy
643+ # $(shell dpkg-buildflags --export=configure)
644
645 override_dh_auto_install:
646 $(MAKE) $(FLAVOUR)install DESTDIR=debian/tmp PREFIX=usr H=
647@@ -17,3 +22,6 @@
648 override_dh_auto_test:
649 VALGRIND=" " $(MAKE) --no-print-directory $(FLAVOUR)test PREFIX=usr H=
650
651+override_dh_auto_clean:
652+ dh_auto_clean
653+ rm -f smd-config.h
654
655=== added file 'debian/syncmaildir-applet.NEWS'
656--- debian/syncmaildir-applet.NEWS 1970-01-01 00:00:00 +0000
657+++ debian/syncmaildir-applet.NEWS 2012-11-26 22:25:07 +0000
658@@ -0,0 +1,13 @@
659+syncmaildir (1.2.4-1) unstable; urgency=low
660+
661+ The syncmaildir-applet package does not ship an autostart file any
662+ longer. It used to ship /etc/xdg/autostart/smd-applet.desktop
663+
664+ smd-applet is now able to register itself in the set of per-user
665+ automatically started applications in ~/.config/autostart/
666+
667+ To start smd-applet automatically start it by hand and right click
668+ on the notification icon to open the options menu. There you will find
669+ a "Start automatically" checkbox.
670+
671+ -- Enrico Tassi <gareuselesinge@debian.org> Mon, 21 May 2012 17:41:17 +0200
672
673=== modified file 'debian/syncmaildir-applet.install'
674--- debian/syncmaildir-applet.install 2009-07-26 18:56:41 +0000
675+++ debian/syncmaildir-applet.install 2012-11-26 22:25:07 +0000
676@@ -1,4 +1,3 @@
677 usr/bin/smd-applet
678 usr/share/syncmaildir-applet/smd-applet.ui
679-etc/xdg/autostart/smd-applet.desktop
680 usr/share/applications/*
681
682=== modified file 'debian/syncmaildir.install'
683--- debian/syncmaildir.install 2011-09-07 11:02:36 +0000
684+++ debian/syncmaildir.install 2012-11-26 22:25:07 +0000
685@@ -6,6 +6,8 @@
686 usr/bin/smd-loop
687 usr/bin/smd-translate
688 usr/bin/smd-check-conf
689+usr/bin/smd-restricted-shell
690+usr/bin/smd-uniform-names
691 usr/share/lua/5.1/syncmaildir.lua
692 usr/share/syncmaildir/smd-common
693 usr/share/doc/syncmaildir/
694
695=== modified file 'debian/syncmaildir.manpages'
696--- debian/syncmaildir.manpages 2011-09-07 11:02:36 +0000
697+++ debian/syncmaildir.manpages 2012-11-26 22:25:07 +0000
698@@ -7,3 +7,5 @@
699 smd-translate.1
700 smd-config.5
701 smd-check-conf.1
702+smd-restricted-shell.1
703+smd-uniform-names.1
704
705=== modified file 'mddiff.1.txt'
706--- mddiff.1.txt 2011-12-01 16:17:28 +0000
707+++ mddiff.1.txt 2012-11-26 22:25:07 +0000
708@@ -2,8 +2,8 @@
709 mddiff - computes diff for maildirs
710 SYNOPSIS
711 mddiff [--max-mailno mno] [--db-file dbf] [-l|--list] [-s|--symlink]
712- [--exclude globexpr] [-v|--verbose] [-d|--dry-run] [--help]
713- [--sha1sum] paths
714+ [--exclude globexpr] [-v|--verbose] [-d|--dry-run]
715+ [-n|--no-delete] [--help] [--sha1sum] paths
716 DESCRIPTION
717 mddiff computes the delta from an old status of a maildir (previously
718 recorded in a support file, called db file) and the current status,
719@@ -54,6 +54,11 @@
720 entered. If the match is successful, the directory and all its
721 subedirectories are skipped.
722
723+ The --no-delete option tells mddiff to not output a DELETE action for
724+ files that disappear. Note that a DELETE action is anyway generated for
725+ files that are moved (i.e. move is COPY plus DELETE). The result is that
726+ deletions are not propagated to the other endpoint.
727+
728 OPTIONS
729 --max-mailno mno Estimation of max mail message number (defaults to the
730 number of messages in the db-file + 1000 or 500000
731@@ -69,6 +74,7 @@
732 -s --symlink Create symlinks for paths read on the input fifo
733 -v --verbose Increase program verbosity (printed on stderr)
734 -d --dry-run Do not generate a new db-file
735+ -n --no-delete Do not track deleted files
736 --help This help screen
737
738 NOTES
739
740=== modified file 'mddiff.c'
741--- mddiff.c 2011-12-01 16:17:28 +0000
742+++ mddiff.c 2012-11-26 22:25:07 +0000
743@@ -138,6 +138,8 @@
744 return outbuff;
745 }
746
747+#define PROMOTE(what,from,to) ((what) = ((what) == (from)) ? (to) : (what))
748+
749 // flags used to mark struct mail so that at the end of the scanning
750 // we output commands lookig that flag
751 enum sight {
752@@ -188,6 +190,7 @@
753 STATIC int only_mkfifo;
754 STATIC int n_excludes;
755 STATIC char **excludes;
756+STATIC int no_delete;
757
758 // ============================ helpers =====================================
759
760@@ -431,13 +434,14 @@
761 STATIC void load_db(const char* dbname){
762 FILE* fd;
763 int fields;
764+ int line=0;
765 char new_dbname[PATH_MAX];
766
767 snprintf(new_dbname,PATH_MAX,"%s.mtime",dbname);
768
769 fd = fopen(new_dbname,"r");
770 if (fd == NULL){
771- WARNING(fopen,"unable to load db file '%s'\n",new_dbname);
772+ WARNING(fopen,"unable to open db file '%s'\n",new_dbname);
773 lastcheck = 0L;
774 } else {
775 fields = fscanf(fd,"%1$lu",&lastcheck);
776@@ -462,6 +466,7 @@
777 fields = fscanf(fd,
778 "%1$40s %2$40s %3$" tostring(MAX_EMAIL_NAME_LEN) "[^\n]\n",
779 tmpbuff_1, tmpbuff_2, next_name());
780+ line++;
781
782 if (fields == EOF) {
783 // deallocate mail entry
784@@ -471,7 +476,8 @@
785
786 // sanity checks
787 if (fields != 3)
788- ERROR(fscanf,"malformed db file '%s', please remove it\n",dbname);
789+ ERROR(fscanf, "%s: malformed line %d: %d != 3 fields."
790+ " Please remove this db file.\n", dbname, line, fields);
791
792 shatxt(tmpbuff_1, mail(m)->hsha);
793 shatxt(tmpbuff_2, mail(m)->bsha);
794@@ -483,7 +489,8 @@
795 mail(m)->seen=NOT_SEEN;
796
797 // store it in the hash tables
798- g_hash_table_insert(bsha2mail,GPTR(m),GPTR(m));
799+ g_hash_table_insert(bsha2mail,GPTR(m),
800+ g_slist_prepend(g_hash_table_lookup(bsha2mail,GPTR(m)),GPTR(m)));
801 g_hash_table_insert(filename2mail,GPTR(m),GPTR(m));
802
803 }
804@@ -533,9 +540,10 @@
805 unsigned char *addr,*next;
806 int fd;
807 struct stat sb;
808- mail_t alias, bodyalias, m;
809+ mail_t alias, m;
810 GChecksum* ctx;
811 gsize ctx_len;
812+ GSList *bodyaliases = NULL;
813
814 m = alloc_mail();
815 snprintf(next_name(), MAX_EMAIL_NAME_LEN,"%s/%s",dir,file);
816@@ -618,18 +626,25 @@
817 }
818 }
819
820- bodyalias = MAIL(g_hash_table_lookup(bsha2mail,GPTR(m)));
821+ bodyaliases = g_hash_table_lookup(bsha2mail,GPTR(m));
822
823- if (bodyalias != 0) {
824- if (hsha_equal(GPTR(bodyalias), GPTR(m))) {
825- COMMAND_COPY(bodyalias,m);
826- mail(m)->seen=SEEN;
827- return;
828- } else {
829- COMMAND_COPYBODY(bodyalias,m);
830- mail(m)->seen=SEEN;
831- return;
832+ // some messages with the same body are there
833+ if (bodyaliases != NULL) {
834+ mail_t firstalias = MAIL(bodyaliases->data);
835+ for(; bodyaliases != NULL; bodyaliases = g_slist_next(bodyaliases)) {
836+ mail_t bodyalias = MAIL(bodyaliases->data);
837+ if (hsha_equal(GPTR(bodyalias), GPTR(m))) {
838+ // this one has the same header too
839+ COMMAND_COPY(bodyalias,m);
840+ PROMOTE(mail(bodyalias)->seen, NOT_SEEN, MOVED);
841+ mail(m)->seen=SEEN;
842+ return;
843+ }
844 }
845+ // no full alias, we just recycle the body
846+ COMMAND_COPYBODY(firstalias,m);
847+ mail(m)->seen=SEEN;
848+ return;
849 }
850
851 // we should add that file
852@@ -727,7 +742,11 @@
853 size_t m;
854
855 for(m=1; m < mailno; m++){
856- if (mail(m)->seen == NOT_SEEN)
857+ if (!no_delete && (mail(m)->seen == NOT_SEEN || mail(m)->seen == MOVED))
858+ // normally moved or removed mails are deleted
859+ COMMAND_DELETE(m);
860+ else if (no_delete && mail(m)->seen == MOVED)
861+ // if --no-delete only moved mails should be deleted
862 COMMAND_DELETE(m);
863 else
864 VERBOSE(seen,"STATUS OF %s %s %s IS %s\n",
865@@ -808,7 +827,14 @@
866 if (fstat(fd, &sb) == -1) ERROR(fstat,"unable to stat file '%s'\n",file);
867
868 addr = mmap(NULL, sb.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
869- if (addr == MAP_FAILED) ERROR(mmap, "unable to load '%s'\n",file);
870+ if (addr == MAP_FAILED){
871+ if (sb.st_size == 0)
872+ // empty file
873+ ;
874+ else
875+ // mmap failed
876+ ERROR(mmap, "unable to load '%s'\n",file);
877+ }
878
879 // calculate sha1
880 fprintf(stdout, "%s %s\n",
881@@ -816,7 +842,7 @@
882 file);
883 g_free(sha1);
884
885- munmap(addr, sb.st_size);
886+ if (addr != MAP_FAILED) munmap(addr, sb.st_size);
887 close(fd);
888 }
889
890@@ -841,6 +867,7 @@
891 {"symlink" , no_argument , NULL, 's'},
892 {"verbose" , no_argument , NULL, 'v'},
893 {"dry-run" , no_argument , NULL, 'd'},
894+ {"no-delete" , no_argument , NULL, 'n'},
895 {"help" , no_argument , NULL, 'h'},
896 {NULL , no_argument , NULL, 0},
897 };
898@@ -866,6 +893,7 @@
899 "Symbolic Link generation mode (short -s)",
900 "Increase program verbosity (printed on stderr, short -v)",
901 "Do not generate a new db file (short -d)",
902+ "Do not track deletions (short -n)",
903 "This help screen",
904 NULL
905 };
906@@ -919,7 +947,7 @@
907 g_assert(MAIL(GPTR(1)) == 1);
908
909 for(;;) {
910- c = getopt_long(argc, argv, "vhdls", long_options, &option_index);
911+ c = getopt_long(argc, argv, "vhndls", long_options, &option_index);
912 if (c == -1) break; // no more args
913 switch (c) {
914 case OPT_MAX_MAILNO:
915@@ -948,6 +976,9 @@
916 case 'd':
917 dry_run = 1;
918 break;
919+ case 'n':
920+ no_delete = 1;
921+ break;
922 case 'l':
923 only_list_subfolders = 1;
924 break;
925
926=== modified file 'smd-applet.c'
927--- smd-applet.c 2011-12-01 16:17:28 +0000
928+++ smd-applet.c 2012-11-26 22:25:07 +0000
929@@ -1,4 +1,4 @@
930-/* smd-applet.c generated by valac 0.14.0, the Vala compiler
931+/* smd-applet.c generated by valac 0.16.0, the Vala compiler
932 * generated from smd-applet.vala, do not modify */
933
934 /* Released under the terms of GPLv3 or at your option any later version.*/
935@@ -21,7 +21,7 @@
936 #include <sys/types.h>
937 #include <unistd.h>
938 #include <sys/wait.h>
939-#include <smd-config.h>
940+#include "smd-config.h"
941 #include <gobject/gvaluecollector.h>
942
943
944@@ -62,7 +62,7 @@
945 typedef struct _smdApplet smdApplet;
946 typedef struct _smdAppletClass smdAppletClass;
947 typedef struct _smdAppletPrivate smdAppletPrivate;
948-#define _g_mutex_free0(var) ((var == NULL) ? NULL : (var = (g_mutex_free (var), NULL)))
949+#define _g_thread_unref0(var) ((var == NULL) ? NULL : (var = (g_thread_unref (var), NULL)))
950 #define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
951 #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
952 #define _smd_applet_unref0(var) ((var == NULL) ? NULL : (var = (smd_applet_unref (var), NULL)))
953@@ -137,7 +137,7 @@
954 GThread* thread;
955 gboolean thread_die;
956 GPid pid;
957- GMutex* events_lock;
958+ GMutex events_lock;
959 GeeArrayList* events;
960 gboolean error_mode;
961 gboolean network_error_mode;
962@@ -162,6 +162,8 @@
963 gchar* SMD_LOOP_CFG = NULL;
964 extern gchar* SMD_PP_DEF_CFG;
965 gchar* SMD_PP_DEF_CFG = NULL;
966+extern gchar* XDG_AUTORUN_FILE;
967+gchar* XDG_AUTORUN_FILE = NULL;
968 static gpointer smd_applet_parent_class = NULL;
969 extern gchar* smd_applet_smd_loop_cmd;
970 gchar* smd_applet_smd_loop_cmd = NULL;
971@@ -169,6 +171,8 @@
972 gchar* smd_applet_smd_applet_ui = NULL;
973 extern gchar* smd_applet_smd_push_cmd;
974 gchar* smd_applet_smd_push_cmd = NULL;
975+extern gchar* smd_applet_smd_applet_desktop;
976+gchar* smd_applet_smd_applet_desktop = NULL;
977
978 GQuark exit_quark (void);
979 void debug (const gchar* message);
980@@ -210,6 +214,8 @@
981 #define SMD_LOOP "/bin/smd-loop"
982 #define SMD_PUSH "/bin/smd-push"
983 #define SMD_APPLET_UI "/share/syncmaildir-applet/smd-applet.ui"
984+#define SMD_APPLET_DESKTOP "/share/applications/smd-applet.desktop"
985+#define GNOME_AUTOSTART_DISABLED "X-GNOME-Autostart-enabled=false"
986 gpointer smd_applet_ref (gpointer instance);
987 void smd_applet_unref (gpointer instance);
988 GParamSpec* param_spec_smd_applet (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
989@@ -225,48 +231,50 @@
990 #define SMD_APPLET_key_newmail "/apps/smd-applet/notify_new_mail"
991 smdApplet* smd_applet_new (gboolean hide_status_icon, GError** error);
992 smdApplet* smd_applet_construct (GType object_type, gboolean hide_status_icon, GError** error);
993-static void ___lambda0_ (smdApplet* self, guint s);
994-static void ____lambda0__network_manager_state_changed (NetworkManager* _sender, guint state, gpointer self);
995-static void __lambda1_ (smdApplet* self, GtkComboBox* cb);
996-static void ___lambda1__gtk_combo_box_changed (GtkComboBox* _sender, gpointer self);
997+static void ___lambda2_ (smdApplet* self, guint s);
998+static void ____lambda2__network_manager_state_changed (NetworkManager* _sender, guint state, gpointer self);
999+static void __lambda3_ (smdApplet* self, GtkComboBox* cb);
1000+static void ___lambda3__gtk_combo_box_changed (GtkComboBox* _sender, gpointer self);
1001 static void smd_applet_close_logs_action (smdApplet* self, GtkButton* b);
1002 static void _smd_applet_close_logs_action_gtk_button_clicked (GtkButton* _sender, gpointer self);
1003 static gboolean smd_applet_close_logs_event (smdApplet* self, GdkEventAny* e);
1004 static gboolean _smd_applet_close_logs_event_gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self);
1005 static void smd_applet_close_prefs_action (smdApplet* self, GtkButton* b);
1006 static void _smd_applet_close_prefs_action_gtk_button_clicked (GtkButton* _sender, gpointer self);
1007-static void __lambda3_ (smdApplet* self, GtkToggleButton* b);
1008-static void ___lambda3__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self);
1009-static void __lambda4_ (smdApplet* self, GtkToggleButton* b);
1010-static void ___lambda4__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self);
1011+static void __lambda5_ (smdApplet* self, GtkToggleButton* b);
1012+static void ___lambda5__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self);
1013+static void __lambda6_ (smdApplet* self, GtkToggleButton* b);
1014+static void ___lambda6__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self);
1015+static void __lambda7_ (smdApplet* self, GtkToggleButton* b);
1016+static void ___lambda7__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self);
1017 static void smd_applet_close_err_action (smdApplet* self, GtkButton* b);
1018 static void _smd_applet_close_err_action_gtk_button_clicked (GtkButton* _sender, gpointer self);
1019-static void __lambda5_ (smdApplet* self, GtkButton* b);
1020+static void __lambda8_ (smdApplet* self, GtkButton* b);
1021 static gboolean smd_applet_is_smd_loop_configured (smdApplet* self);
1022-static void ___lambda5__gtk_button_clicked (GtkButton* _sender, gpointer self);
1023-static void __lambda6_ (smdApplet* self, GtkButton* b);
1024+static void ___lambda8__gtk_button_clicked (GtkButton* _sender, gpointer self);
1025+static void __lambda9_ (smdApplet* self, GtkButton* b);
1026 static gboolean smd_applet_is_smd_pushpull_configured (smdApplet* self);
1027-static void ___lambda6__gtk_button_clicked (GtkButton* _sender, gpointer self);
1028-static void __lambda7_ (smdApplet* self, GtkMenuItem* b);
1029-static void ___lambda7__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
1030-static void __lambda8_ (smdApplet* self, GtkCheckMenuItem* b);
1031+static void ___lambda9__gtk_button_clicked (GtkButton* _sender, gpointer self);
1032+static void __lambda10_ (smdApplet* self, GtkMenuItem* b);
1033+static void ___lambda10__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
1034+static void __lambda11_ (smdApplet* self, GtkCheckMenuItem* b);
1035 static void smd_applet_pause (smdApplet* self);
1036 static void smd_applet_unpause (smdApplet* self);
1037-static void ___lambda8__gtk_check_menu_item_toggled (GtkCheckMenuItem* _sender, gpointer self);
1038-static void __lambda9_ (smdApplet* self, gint id);
1039-static void ___lambda9__gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self);
1040-static void __lambda10_ (smdApplet* self, GtkMenuItem* b);
1041-static void ___lambda10__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
1042-static void __lambda11_ (smdApplet* self, GtkMenuItem* b);
1043-static void ___lambda11__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
1044-static void __lambda12_ (smdApplet* self, GtkMenuItem* b);
1045+static void ___lambda11__gtk_check_menu_item_toggled (GtkCheckMenuItem* _sender, gpointer self);
1046+static void __lambda12_ (smdApplet* self, gint id);
1047+static void ___lambda12__gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self);
1048+static void __lambda13_ (smdApplet* self, GtkMenuItem* b);
1049+static void ___lambda13__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
1050+static void __lambda14_ (smdApplet* self, GtkMenuItem* b);
1051+static void ___lambda14__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
1052+static void __lambda15_ (smdApplet* self, GtkMenuItem* b);
1053 static void smd_applet_update_loglist (smdApplet* self);
1054-static void ___lambda12__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
1055-static void __lambda13_ (smdApplet* self, guint button, guint time);
1056+static void ___lambda15__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
1057+static void __lambda16_ (smdApplet* self, guint button, guint time);
1058 static void _gtk_status_icon_position_menu_gtk_menu_position_func (GtkMenu* menu, gint* x, gint* y, gboolean* push_in, gpointer self);
1059-static void ___lambda13__gtk_status_icon_popup_menu (GtkStatusIcon* _sender, guint button, guint activate_time, gpointer self);
1060-static void __lambda14_ (smdApplet* self, GtkStatusIcon* s);
1061-static void ___lambda14__gtk_status_icon_activate (GtkStatusIcon* _sender, gpointer self);
1062+static void ___lambda16__gtk_status_icon_popup_menu (GtkStatusIcon* _sender, guint button, guint activate_time, gpointer self);
1063+static void __lambda17_ (smdApplet* self, GtkStatusIcon* s);
1064+static void ___lambda17__gtk_status_icon_activate (GtkStatusIcon* _sender, gpointer self);
1065 static void _g_object_unref0_ (gpointer var);
1066 static void _g_free0_ (gpointer var);
1067 static void* smd_applet_smdThread (smdApplet* self);
1068@@ -275,13 +283,13 @@
1069 static gpointer _smd_applet_smdThread_gthread_func (gpointer self);
1070 static gboolean smd_applet_eval_smd_loop_error_message (smdApplet* self, const gchar* args, const gchar* account, const gchar* host, GError** error);
1071 static gboolean smd_applet_eval_smd_loop_message (smdApplet* self, const gchar* s);
1072-static void ___lambda2_ (smdApplet* self);
1073-static void ____lambda2__gspawn_child_setup_func (gpointer self);
1074+static void ___lambda4_ (smdApplet* self);
1075+static void ____lambda4__gspawn_child_setup_func (gpointer self);
1076 static gboolean smd_applet_eat_event (smdApplet* self);
1077-static void ______lambda15_ (smdApplet* self, NotifyNotification* not, const gchar* action);
1078-static void _______lambda15__notify_action_callback (NotifyNotification* notification, const gchar* action, gpointer self);
1079-static void ______lambda16_ (smdApplet* self, GtkButton* b);
1080-static void _______lambda16__gtk_button_clicked (GtkButton* _sender, gpointer self);
1081+static void ______lambda18_ (smdApplet* self, NotifyNotification* not, const gchar* action);
1082+static void _______lambda18__notify_action_callback (NotifyNotification* notification, const gchar* action, gpointer self);
1083+static void ______lambda19_ (smdApplet* self, GtkButton* b);
1084+static void _______lambda19__gtk_button_clicked (GtkButton* _sender, gpointer self);
1085 static void smd_applet_reset_to_regular_run (smdApplet* self, gboolean force);
1086 static gboolean smd_applet_close_err_event (smdApplet* self, GdkEventAny* e);
1087 static void smd_applet_close_prefs (smdApplet* self);
1088@@ -923,7 +931,7 @@
1089 }
1090
1091
1092-static void ___lambda0_ (smdApplet* self, guint s) {
1093+static void ___lambda2_ (smdApplet* self, guint s) {
1094 guint _tmp0_;
1095 gboolean _tmp1_ = FALSE;
1096 _tmp0_ = s;
1097@@ -940,12 +948,12 @@
1098 }
1099
1100
1101-static void ____lambda0__network_manager_state_changed (NetworkManager* _sender, guint state, gpointer self) {
1102- ___lambda0_ (self, state);
1103+static void ____lambda2__network_manager_state_changed (NetworkManager* _sender, guint state, gpointer self) {
1104+ ___lambda2_ (self, state);
1105 }
1106
1107
1108-static void __lambda1_ (smdApplet* self, GtkComboBox* cb) {
1109+static void __lambda3_ (smdApplet* self, GtkComboBox* cb) {
1110 GtkComboBoxText* _tmp0_;
1111 gint _tmp1_ = 0;
1112 gint selected;
1113@@ -1094,8 +1102,8 @@
1114 }
1115
1116
1117-static void ___lambda1__gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) {
1118- __lambda1_ (self, _sender);
1119+static void ___lambda3__gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) {
1120+ __lambda3_ (self, _sender);
1121 }
1122
1123
1124@@ -1116,7 +1124,7 @@
1125 }
1126
1127
1128-static void __lambda3_ (smdApplet* self, GtkToggleButton* b) {
1129+static void __lambda5_ (smdApplet* self, GtkToggleButton* b) {
1130 GError * _inner_error_ = NULL;
1131 g_return_if_fail (b != NULL);
1132 {
1133@@ -1169,12 +1177,12 @@
1134 }
1135
1136
1137-static void ___lambda3__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) {
1138- __lambda3_ (self, _sender);
1139+static void ___lambda5__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) {
1140+ __lambda5_ (self, _sender);
1141 }
1142
1143
1144-static void __lambda4_ (smdApplet* self, GtkToggleButton* b) {
1145+static void __lambda6_ (smdApplet* self, GtkToggleButton* b) {
1146 GError * _inner_error_ = NULL;
1147 g_return_if_fail (b != NULL);
1148 {
1149@@ -1215,8 +1223,86 @@
1150 }
1151
1152
1153-static void ___lambda4__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) {
1154- __lambda4_ (self, _sender);
1155+static void ___lambda6__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) {
1156+ __lambda6_ (self, _sender);
1157+}
1158+
1159+
1160+static void __lambda7_ (smdApplet* self, GtkToggleButton* b) {
1161+ GtkToggleButton* _tmp0_;
1162+ gboolean _tmp1_;
1163+ gboolean _tmp2_;
1164+ GError * _inner_error_ = NULL;
1165+ g_return_if_fail (b != NULL);
1166+ _tmp0_ = b;
1167+ _tmp1_ = gtk_toggle_button_get_active (_tmp0_);
1168+ _tmp2_ = _tmp1_;
1169+ if (_tmp2_) {
1170+ gchar* content = NULL;
1171+ {
1172+ const gchar* _tmp3_;
1173+ gchar* _tmp4_ = NULL;
1174+ const gchar* _tmp5_;
1175+ const gchar* _tmp6_;
1176+ _tmp3_ = smd_applet_smd_applet_desktop;
1177+ g_file_get_contents (_tmp3_, &_tmp4_, NULL, &_inner_error_);
1178+ _g_free0 (content);
1179+ content = _tmp4_;
1180+ if (_inner_error_ != NULL) {
1181+ if (_inner_error_->domain == G_FILE_ERROR) {
1182+ goto __catch8_g_file_error;
1183+ }
1184+ _g_free0 (content);
1185+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1186+ g_clear_error (&_inner_error_);
1187+ return;
1188+ }
1189+ _tmp5_ = XDG_AUTORUN_FILE;
1190+ _tmp6_ = content;
1191+ g_file_set_contents (_tmp5_, _tmp6_, (gssize) (-1), &_inner_error_);
1192+ if (_inner_error_ != NULL) {
1193+ if (_inner_error_->domain == G_FILE_ERROR) {
1194+ goto __catch8_g_file_error;
1195+ }
1196+ _g_free0 (content);
1197+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1198+ g_clear_error (&_inner_error_);
1199+ return;
1200+ }
1201+ }
1202+ goto __finally8;
1203+ __catch8_g_file_error:
1204+ {
1205+ GError* e = NULL;
1206+ FILE* _tmp7_;
1207+ GError* _tmp8_;
1208+ const gchar* _tmp9_;
1209+ e = _inner_error_;
1210+ _inner_error_ = NULL;
1211+ _tmp7_ = stderr;
1212+ _tmp8_ = e;
1213+ _tmp9_ = _tmp8_->message;
1214+ fprintf (_tmp7_, "%s\n", _tmp9_);
1215+ _g_error_free0 (e);
1216+ }
1217+ __finally8:
1218+ if (_inner_error_ != NULL) {
1219+ _g_free0 (content);
1220+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1221+ g_clear_error (&_inner_error_);
1222+ return;
1223+ }
1224+ _g_free0 (content);
1225+ } else {
1226+ const gchar* _tmp10_;
1227+ _tmp10_ = XDG_AUTORUN_FILE;
1228+ g_remove (_tmp10_);
1229+ }
1230+}
1231+
1232+
1233+static void ___lambda7__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) {
1234+ __lambda7_ (self, _sender);
1235 }
1236
1237
1238@@ -1225,7 +1311,7 @@
1239 }
1240
1241
1242-static void __lambda5_ (smdApplet* self, GtkButton* b) {
1243+static void __lambda8_ (smdApplet* self, GtkButton* b) {
1244 GError * _inner_error_ = NULL;
1245 g_return_if_fail (b != NULL);
1246 {
1247@@ -1246,7 +1332,7 @@
1248 _g_free0 (_tmp3_);
1249 if (_inner_error_ != NULL) {
1250 if (_inner_error_->domain == G_SPAWN_ERROR) {
1251- goto __catch7_g_spawn_error;
1252+ goto __catch9_g_spawn_error;
1253 }
1254 g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1255 g_clear_error (&_inner_error_);
1256@@ -1261,7 +1347,7 @@
1257 if (_inner_error_ != NULL) {
1258 _g_free0 (cmd);
1259 if (_inner_error_->domain == G_SPAWN_ERROR) {
1260- goto __catch7_g_spawn_error;
1261+ goto __catch9_g_spawn_error;
1262 }
1263 _g_free0 (cmd);
1264 g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1265@@ -1271,8 +1357,8 @@
1266 smd_applet_is_smd_loop_configured (self);
1267 _g_free0 (cmd);
1268 }
1269- goto __finally7;
1270- __catch7_g_spawn_error:
1271+ goto __finally9;
1272+ __catch9_g_spawn_error:
1273 {
1274 GError* e = NULL;
1275 FILE* _tmp7_;
1276@@ -1286,7 +1372,7 @@
1277 fprintf (_tmp7_, "%s\n", _tmp9_);
1278 _g_error_free0 (e);
1279 }
1280- __finally7:
1281+ __finally9:
1282 if (_inner_error_ != NULL) {
1283 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1284 g_clear_error (&_inner_error_);
1285@@ -1295,12 +1381,12 @@
1286 }
1287
1288
1289-static void ___lambda5__gtk_button_clicked (GtkButton* _sender, gpointer self) {
1290- __lambda5_ (self, _sender);
1291+static void ___lambda8__gtk_button_clicked (GtkButton* _sender, gpointer self) {
1292+ __lambda8_ (self, _sender);
1293 }
1294
1295
1296-static void __lambda6_ (smdApplet* self, GtkButton* b) {
1297+static void __lambda9_ (smdApplet* self, GtkButton* b) {
1298 GError * _inner_error_ = NULL;
1299 g_return_if_fail (b != NULL);
1300 {
1301@@ -1321,7 +1407,7 @@
1302 _g_free0 (_tmp3_);
1303 if (_inner_error_ != NULL) {
1304 if (_inner_error_->domain == G_SPAWN_ERROR) {
1305- goto __catch8_g_spawn_error;
1306+ goto __catch10_g_spawn_error;
1307 }
1308 g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1309 g_clear_error (&_inner_error_);
1310@@ -1336,7 +1422,7 @@
1311 if (_inner_error_ != NULL) {
1312 _g_free0 (cmd);
1313 if (_inner_error_->domain == G_SPAWN_ERROR) {
1314- goto __catch8_g_spawn_error;
1315+ goto __catch10_g_spawn_error;
1316 }
1317 _g_free0 (cmd);
1318 g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1319@@ -1346,8 +1432,8 @@
1320 smd_applet_is_smd_pushpull_configured (self);
1321 _g_free0 (cmd);
1322 }
1323- goto __finally8;
1324- __catch8_g_spawn_error:
1325+ goto __finally10;
1326+ __catch10_g_spawn_error:
1327 {
1328 GError* e = NULL;
1329 FILE* _tmp7_;
1330@@ -1361,7 +1447,7 @@
1331 fprintf (_tmp7_, "%s\n", _tmp9_);
1332 _g_error_free0 (e);
1333 }
1334- __finally8:
1335+ __finally10:
1336 if (_inner_error_ != NULL) {
1337 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1338 g_clear_error (&_inner_error_);
1339@@ -1370,12 +1456,12 @@
1340 }
1341
1342
1343-static void ___lambda6__gtk_button_clicked (GtkButton* _sender, gpointer self) {
1344- __lambda6_ (self, _sender);
1345+static void ___lambda9__gtk_button_clicked (GtkButton* _sender, gpointer self) {
1346+ __lambda9_ (self, _sender);
1347 }
1348
1349
1350-static void __lambda7_ (smdApplet* self, GtkMenuItem* b) {
1351+static void __lambda10_ (smdApplet* self, GtkMenuItem* b) {
1352 GPid _tmp0_;
1353 g_return_if_fail (b != NULL);
1354 self->priv->thread_die = TRUE;
1355@@ -1397,12 +1483,12 @@
1356 }
1357
1358
1359-static void ___lambda7__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
1360- __lambda7_ (self, _sender);
1361+static void ___lambda10__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
1362+ __lambda10_ (self, _sender);
1363 }
1364
1365
1366-static void __lambda8_ (smdApplet* self, GtkCheckMenuItem* b) {
1367+static void __lambda11_ (smdApplet* self, GtkCheckMenuItem* b) {
1368 GtkCheckMenuItem* _tmp0_;
1369 gboolean _tmp1_ = FALSE;
1370 g_return_if_fail (b != NULL);
1371@@ -1416,24 +1502,24 @@
1372 }
1373
1374
1375-static void ___lambda8__gtk_check_menu_item_toggled (GtkCheckMenuItem* _sender, gpointer self) {
1376- __lambda8_ (self, _sender);
1377+static void ___lambda11__gtk_check_menu_item_toggled (GtkCheckMenuItem* _sender, gpointer self) {
1378+ __lambda11_ (self, _sender);
1379 }
1380
1381
1382-static void __lambda9_ (smdApplet* self, gint id) {
1383+static void __lambda12_ (smdApplet* self, gint id) {
1384 GtkAboutDialog* _tmp0_;
1385 _tmp0_ = self->priv->about_win;
1386 gtk_widget_hide ((GtkWidget*) _tmp0_);
1387 }
1388
1389
1390-static void ___lambda9__gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self) {
1391- __lambda9_ (self, response_id);
1392+static void ___lambda12__gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self) {
1393+ __lambda12_ (self, response_id);
1394 }
1395
1396
1397-static void __lambda10_ (smdApplet* self, GtkMenuItem* b) {
1398+static void __lambda13_ (smdApplet* self, GtkMenuItem* b) {
1399 GtkAboutDialog* _tmp0_;
1400 g_return_if_fail (b != NULL);
1401 _tmp0_ = self->priv->about_win;
1402@@ -1441,12 +1527,12 @@
1403 }
1404
1405
1406-static void ___lambda10__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
1407- __lambda10_ (self, _sender);
1408+static void ___lambda13__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
1409+ __lambda13_ (self, _sender);
1410 }
1411
1412
1413-static void __lambda11_ (smdApplet* self, GtkMenuItem* b) {
1414+static void __lambda14_ (smdApplet* self, GtkMenuItem* b) {
1415 GtkWindow* _tmp0_;
1416 g_return_if_fail (b != NULL);
1417 _tmp0_ = self->priv->win;
1418@@ -1454,12 +1540,12 @@
1419 }
1420
1421
1422-static void ___lambda11__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
1423- __lambda11_ (self, _sender);
1424+static void ___lambda14__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
1425+ __lambda14_ (self, _sender);
1426 }
1427
1428
1429-static void __lambda12_ (smdApplet* self, GtkMenuItem* b) {
1430+static void __lambda15_ (smdApplet* self, GtkMenuItem* b) {
1431 GtkWindow* _tmp0_;
1432 g_return_if_fail (b != NULL);
1433 smd_applet_update_loglist (self);
1434@@ -1468,8 +1554,8 @@
1435 }
1436
1437
1438-static void ___lambda12__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
1439- __lambda12_ (self, _sender);
1440+static void ___lambda15__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
1441+ __lambda15_ (self, _sender);
1442 }
1443
1444
1445@@ -1478,7 +1564,7 @@
1446 }
1447
1448
1449-static void __lambda13_ (smdApplet* self, guint button, guint time) {
1450+static void __lambda16_ (smdApplet* self, guint button, guint time) {
1451 GtkMenu* _tmp0_;
1452 GtkStatusIcon* _tmp1_;
1453 guint32 _tmp2_ = 0U;
1454@@ -1489,12 +1575,12 @@
1455 }
1456
1457
1458-static void ___lambda13__gtk_status_icon_popup_menu (GtkStatusIcon* _sender, guint button, guint activate_time, gpointer self) {
1459- __lambda13_ (self, button, activate_time);
1460+static void ___lambda16__gtk_status_icon_popup_menu (GtkStatusIcon* _sender, guint button, guint activate_time, gpointer self) {
1461+ __lambda16_ (self, button, activate_time);
1462 }
1463
1464
1465-static void __lambda14_ (smdApplet* self, GtkStatusIcon* s) {
1466+static void __lambda17_ (smdApplet* self, GtkStatusIcon* s) {
1467 gboolean _tmp0_;
1468 g_return_if_fail (s != NULL);
1469 _tmp0_ = self->priv->error_mode;
1470@@ -1522,8 +1608,8 @@
1471 }
1472
1473
1474-static void ___lambda14__gtk_status_icon_activate (GtkStatusIcon* _sender, gpointer self) {
1475- __lambda14_ (self, _sender);
1476+static void ___lambda17__gtk_status_icon_activate (GtkStatusIcon* _sender, gpointer self) {
1477+ __lambda17_ (self, _sender);
1478 }
1479
1480
1481@@ -1541,102 +1627,105 @@
1482 smdApplet* self = NULL;
1483 GtkBuilder* _tmp0_;
1484 GeeArrayList* _tmp7_;
1485- GMutex* _tmp8_;
1486- GConfClient* _tmp9_ = NULL;
1487- GConfClient* _tmp10_;
1488- GtkBuilder* _tmp17_;
1489- GObject* _tmp18_ = NULL;
1490- GtkWindow* _tmp19_;
1491- GtkBuilder* _tmp20_;
1492- GObject* _tmp21_ = NULL;
1493- GtkWindow* _tmp22_;
1494- GtkBuilder* _tmp23_;
1495- GObject* _tmp24_ = NULL;
1496+ GConfClient* _tmp8_ = NULL;
1497+ GConfClient* _tmp9_;
1498+ GtkBuilder* _tmp16_;
1499+ GObject* _tmp17_ = NULL;
1500+ GtkWindow* _tmp18_;
1501+ GtkBuilder* _tmp19_;
1502+ GObject* _tmp20_ = NULL;
1503+ GtkWindow* _tmp21_;
1504+ GtkBuilder* _tmp22_;
1505+ GObject* _tmp23_ = NULL;
1506+ GtkAboutDialog* _tmp24_;
1507 GtkAboutDialog* _tmp25_;
1508- GtkAboutDialog* _tmp26_;
1509- GtkBuilder* _tmp27_;
1510- GObject* _tmp28_ = NULL;
1511- GtkWindow* _tmp29_;
1512- GtkBuilder* _tmp30_;
1513- GObject* _tmp31_ = NULL;
1514- GtkVBox* _tmp32_;
1515+ GtkBuilder* _tmp26_;
1516+ GObject* _tmp27_ = NULL;
1517+ GtkWindow* _tmp28_;
1518+ GtkBuilder* _tmp29_;
1519+ GObject* _tmp30_ = NULL;
1520+ GtkVBox* _tmp31_;
1521 GtkVBox* logs_vb;
1522+ GtkComboBoxText* _tmp32_;
1523 GtkComboBoxText* _tmp33_;
1524- GtkComboBoxText* _tmp34_;
1525- GeeArrayList* _tmp35_;
1526+ GeeArrayList* _tmp34_;
1527+ GtkComboBoxText* _tmp35_;
1528 GtkComboBoxText* _tmp36_;
1529 GtkComboBoxText* _tmp37_;
1530 GtkComboBoxText* _tmp38_;
1531- GtkComboBoxText* _tmp39_;
1532- GtkBuilder* _tmp40_;
1533- GObject* _tmp41_ = NULL;
1534- GtkButton* _tmp42_;
1535+ GtkBuilder* _tmp39_;
1536+ GObject* _tmp40_ = NULL;
1537+ GtkButton* _tmp41_;
1538 GtkButton* close_log;
1539- GtkWindow* _tmp43_;
1540- GtkBuilder* _tmp44_;
1541- GObject* _tmp45_ = NULL;
1542- GtkButton* _tmp46_;
1543+ GtkWindow* _tmp42_;
1544+ GtkBuilder* _tmp43_;
1545+ GObject* _tmp44_ = NULL;
1546+ GtkButton* _tmp45_;
1547 GtkButton* close;
1548- GtkBuilder* _tmp47_;
1549- GObject* _tmp48_ = NULL;
1550- GtkCheckButton* _tmp49_;
1551+ GtkBuilder* _tmp46_;
1552+ GObject* _tmp47_ = NULL;
1553+ GtkCheckButton* _tmp48_;
1554 GtkCheckButton* bicon;
1555- GtkBuilder* _tmp56_;
1556- GObject* _tmp57_ = NULL;
1557- GtkCheckButton* _tmp58_;
1558+ GtkBuilder* _tmp55_;
1559+ GObject* _tmp56_ = NULL;
1560+ GtkCheckButton* _tmp57_;
1561 GtkCheckButton* bnotify;
1562- GtkBuilder* _tmp65_;
1563- GObject* _tmp66_ = NULL;
1564- GtkButton* _tmp67_;
1565+ GtkBuilder* _tmp64_;
1566+ GObject* _tmp65_ = NULL;
1567+ GtkCheckButton* _tmp66_;
1568+ GtkCheckButton* bautostart;
1569+ GtkBuilder* _tmp75_;
1570+ GObject* _tmp76_ = NULL;
1571+ GtkButton* _tmp77_;
1572 GtkButton* bc;
1573- GtkBuilder* _tmp68_;
1574- GObject* _tmp69_ = NULL;
1575- GtkButton* _tmp70_;
1576+ GtkBuilder* _tmp78_;
1577+ GObject* _tmp79_ = NULL;
1578+ GtkButton* _tmp80_;
1579 GtkButton* bel;
1580- GtkBuilder* _tmp71_;
1581- GObject* _tmp72_ = NULL;
1582- GtkButton* _tmp73_;
1583+ GtkBuilder* _tmp81_;
1584+ GObject* _tmp82_ = NULL;
1585+ GtkButton* _tmp83_;
1586 GtkButton* bepp;
1587- GtkBuilder* _tmp74_;
1588- GObject* _tmp75_ = NULL;
1589- GtkMenu* _tmp76_;
1590- GtkBuilder* _tmp77_;
1591- GObject* _tmp78_ = NULL;
1592- GtkMenu* _tmp79_;
1593- GtkBuilder* _tmp80_;
1594- GObject* _tmp81_ = NULL;
1595- GtkMenuItem* _tmp82_;
1596- GtkMenuItem* quit;
1597- GtkBuilder* _tmp83_;
1598- GObject* _tmp84_ = NULL;
1599- GtkCheckMenuItem* _tmp85_;
1600- GtkCheckMenuItem* _tmp86_;
1601+ GtkBuilder* _tmp84_;
1602+ GObject* _tmp85_ = NULL;
1603+ GtkMenu* _tmp86_;
1604 GtkBuilder* _tmp87_;
1605 GObject* _tmp88_ = NULL;
1606- GtkMenuItem* _tmp89_;
1607+ GtkMenu* _tmp89_;
1608+ GtkBuilder* _tmp90_;
1609+ GObject* _tmp91_ = NULL;
1610+ GtkMenuItem* _tmp92_;
1611+ GtkMenuItem* quit;
1612+ GtkBuilder* _tmp93_;
1613+ GObject* _tmp94_ = NULL;
1614+ GtkCheckMenuItem* _tmp95_;
1615+ GtkCheckMenuItem* _tmp96_;
1616+ GtkBuilder* _tmp97_;
1617+ GObject* _tmp98_ = NULL;
1618+ GtkMenuItem* _tmp99_;
1619 GtkMenuItem* about;
1620- GtkAboutDialog* _tmp90_;
1621- GtkAboutDialog* _tmp91_;
1622- GtkBuilder* _tmp92_;
1623- GObject* _tmp93_ = NULL;
1624- GtkMenuItem* _tmp94_;
1625+ GtkAboutDialog* _tmp100_;
1626+ GtkAboutDialog* _tmp101_;
1627+ GtkBuilder* _tmp102_;
1628+ GObject* _tmp103_ = NULL;
1629+ GtkMenuItem* _tmp104_;
1630 GtkMenuItem* prefs;
1631- GtkBuilder* _tmp95_;
1632- GObject* _tmp96_ = NULL;
1633- GtkMenuItem* _tmp97_;
1634+ GtkBuilder* _tmp105_;
1635+ GObject* _tmp106_ = NULL;
1636+ GtkMenuItem* _tmp107_;
1637 GtkMenuItem* logs;
1638- GtkStatusIcon* _tmp98_;
1639- GtkStatusIcon* _tmp99_;
1640- gboolean _tmp100_;
1641- GtkStatusIcon* _tmp101_;
1642- GtkStatusIcon* _tmp102_;
1643- GtkStatusIcon* _tmp103_;
1644- GList* _tmp104_ = NULL;
1645+ GtkStatusIcon* _tmp108_;
1646+ GtkStatusIcon* _tmp109_;
1647+ gboolean _tmp110_;
1648+ GtkStatusIcon* _tmp111_;
1649+ GtkStatusIcon* _tmp112_;
1650+ GtkStatusIcon* _tmp113_;
1651+ GList* _tmp114_ = NULL;
1652 GList* l;
1653- gint _tmp105_ = 0;
1654- GHashFunc _tmp106_;
1655- GEqualFunc _tmp107_;
1656- GHashTable* _tmp108_;
1657+ gint _tmp115_ = 0;
1658+ GHashFunc _tmp116_;
1659+ GEqualFunc _tmp117_;
1660+ GHashTable* _tmp118_;
1661 GError * _inner_error_ = NULL;
1662 self = (smdApplet*) g_type_create_instance (object_type);
1663 _tmp0_ = gtk_builder_new ();
1664@@ -1686,40 +1775,37 @@
1665 _tmp7_ = gee_array_list_new (TYPE_EVENT, (GBoxedCopyFunc) event_ref, event_unref, NULL);
1666 _g_object_unref0 (self->priv->events);
1667 self->priv->events = _tmp7_;
1668- _tmp8_ = g_mutex_new ();
1669- _g_mutex_free0 (self->priv->events_lock);
1670- self->priv->events_lock = _tmp8_;
1671- _tmp9_ = gconf_client_get_default ();
1672- _tmp10_ = _g_object_ref0 (_tmp9_);
1673+ _tmp8_ = gconf_client_get_default ();
1674+ _tmp9_ = _g_object_ref0 (_tmp8_);
1675 _g_object_unref0 (self->priv->gconf);
1676- self->priv->gconf = _tmp10_;
1677+ self->priv->gconf = _tmp9_;
1678 {
1679- NetworkManager* _tmp11_ = NULL;
1680+ NetworkManager* _tmp10_ = NULL;
1681+ NetworkManager* _tmp11_;
1682 NetworkManager* _tmp12_;
1683- NetworkManager* _tmp13_;
1684- _tmp11_ = g_initable_new (TYPE_NETWORK_MANAGER_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", NM_SERVICE, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", NM_PATH, "g-interface-name", "org.freedesktop.NetworkManager", NULL);
1685- _tmp12_ = (NetworkManager*) _tmp11_;
1686+ _tmp10_ = g_initable_new (TYPE_NETWORK_MANAGER_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", NM_SERVICE, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", NM_PATH, "g-interface-name", "org.freedesktop.NetworkManager", NULL);
1687+ _tmp11_ = (NetworkManager*) _tmp10_;
1688 if (_inner_error_ != NULL) {
1689 goto __catch1_g_error;
1690 }
1691 _g_object_unref0 (self->priv->net_manager);
1692- self->priv->net_manager = _tmp12_;
1693- _tmp13_ = self->priv->net_manager;
1694- g_signal_connect (_tmp13_, "state-changed", (GCallback) ____lambda0__network_manager_state_changed, self);
1695+ self->priv->net_manager = _tmp11_;
1696+ _tmp12_ = self->priv->net_manager;
1697+ g_signal_connect (_tmp12_, "state-changed", (GCallback) ____lambda2__network_manager_state_changed, self);
1698 }
1699 goto __finally1;
1700 __catch1_g_error:
1701 {
1702 GError* e = NULL;
1703- FILE* _tmp14_;
1704- GError* _tmp15_;
1705- const gchar* _tmp16_;
1706+ FILE* _tmp13_;
1707+ GError* _tmp14_;
1708+ const gchar* _tmp15_;
1709 e = _inner_error_;
1710 _inner_error_ = NULL;
1711- _tmp14_ = stderr;
1712- _tmp15_ = e;
1713- _tmp16_ = _tmp15_->message;
1714- fprintf (_tmp14_, "%s\n", _tmp16_);
1715+ _tmp13_ = stderr;
1716+ _tmp14_ = e;
1717+ _tmp15_ = _tmp14_->message;
1718+ fprintf (_tmp13_, "%s\n", _tmp15_);
1719 _g_object_unref0 (self->priv->net_manager);
1720 self->priv->net_manager = NULL;
1721 _g_error_free0 (e);
1722@@ -1736,88 +1822,88 @@
1723 return NULL;
1724 }
1725 }
1726- _tmp17_ = self->priv->builder;
1727- _tmp18_ = gtk_builder_get_object (_tmp17_, "wPrefs");
1728- _tmp19_ = _g_object_ref0 (GTK_IS_WINDOW (_tmp18_) ? ((GtkWindow*) _tmp18_) : NULL);
1729+ _tmp16_ = self->priv->builder;
1730+ _tmp17_ = gtk_builder_get_object (_tmp16_, "wPrefs");
1731+ _tmp18_ = _g_object_ref0 (GTK_IS_WINDOW (_tmp17_) ? ((GtkWindow*) _tmp17_) : NULL);
1732 _g_object_unref0 (self->priv->win);
1733- self->priv->win = _tmp19_;
1734- _tmp20_ = self->priv->builder;
1735- _tmp21_ = gtk_builder_get_object (_tmp20_, "wError");
1736- _tmp22_ = _g_object_ref0 (GTK_IS_WINDOW (_tmp21_) ? ((GtkWindow*) _tmp21_) : NULL);
1737+ self->priv->win = _tmp18_;
1738+ _tmp19_ = self->priv->builder;
1739+ _tmp20_ = gtk_builder_get_object (_tmp19_, "wError");
1740+ _tmp21_ = _g_object_ref0 (GTK_IS_WINDOW (_tmp20_) ? ((GtkWindow*) _tmp20_) : NULL);
1741 _g_object_unref0 (self->priv->err_win);
1742- self->priv->err_win = _tmp22_;
1743- _tmp23_ = self->priv->builder;
1744- _tmp24_ = gtk_builder_get_object (_tmp23_, "wAbout");
1745- _tmp25_ = _g_object_ref0 (GTK_IS_ABOUT_DIALOG (_tmp24_) ? ((GtkAboutDialog*) _tmp24_) : NULL);
1746+ self->priv->err_win = _tmp21_;
1747+ _tmp22_ = self->priv->builder;
1748+ _tmp23_ = gtk_builder_get_object (_tmp22_, "wAbout");
1749+ _tmp24_ = _g_object_ref0 (GTK_IS_ABOUT_DIALOG (_tmp23_) ? ((GtkAboutDialog*) _tmp23_) : NULL);
1750 _g_object_unref0 (self->priv->about_win);
1751- self->priv->about_win = _tmp25_;
1752- _tmp26_ = self->priv->about_win;
1753- gtk_about_dialog_set_copyright (_tmp26_, "Copyright " SMD_CONF_COPYRIGHT);
1754- _tmp27_ = self->priv->builder;
1755- _tmp28_ = gtk_builder_get_object (_tmp27_, "wLog");
1756- _tmp29_ = _g_object_ref0 (GTK_IS_WINDOW (_tmp28_) ? ((GtkWindow*) _tmp28_) : NULL);
1757+ self->priv->about_win = _tmp24_;
1758+ _tmp25_ = self->priv->about_win;
1759+ gtk_about_dialog_set_copyright (_tmp25_, "Copyright " SMD_CONF_COPYRIGHT);
1760+ _tmp26_ = self->priv->builder;
1761+ _tmp27_ = gtk_builder_get_object (_tmp26_, "wLog");
1762+ _tmp28_ = _g_object_ref0 (GTK_IS_WINDOW (_tmp27_) ? ((GtkWindow*) _tmp27_) : NULL);
1763 _g_object_unref0 (self->priv->log_win);
1764- self->priv->log_win = _tmp29_;
1765- _tmp30_ = self->priv->builder;
1766- _tmp31_ = gtk_builder_get_object (_tmp30_, "vbLog");
1767- _tmp32_ = _g_object_ref0 (GTK_IS_VBOX (_tmp31_) ? ((GtkVBox*) _tmp31_) : NULL);
1768- logs_vb = _tmp32_;
1769- _tmp33_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
1770- _tmp34_ = g_object_ref_sink (_tmp33_);
1771+ self->priv->log_win = _tmp28_;
1772+ _tmp29_ = self->priv->builder;
1773+ _tmp30_ = gtk_builder_get_object (_tmp29_, "vbLog");
1774+ _tmp31_ = _g_object_ref0 (GTK_IS_VBOX (_tmp30_) ? ((GtkVBox*) _tmp30_) : NULL);
1775+ logs_vb = _tmp31_;
1776+ _tmp32_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
1777+ _tmp33_ = g_object_ref_sink (_tmp32_);
1778 _g_object_unref0 (self->priv->cblogs);
1779- self->priv->cblogs = _tmp34_;
1780- _tmp35_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL);
1781+ self->priv->cblogs = _tmp33_;
1782+ _tmp34_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL);
1783 _g_object_unref0 (self->priv->lognames);
1784- self->priv->lognames = _tmp35_;
1785+ self->priv->lognames = _tmp34_;
1786+ _tmp35_ = self->priv->cblogs;
1787+ gtk_box_pack_start ((GtkBox*) logs_vb, (GtkWidget*) _tmp35_, FALSE, TRUE, (guint) 0);
1788 _tmp36_ = self->priv->cblogs;
1789- gtk_box_pack_start ((GtkBox*) logs_vb, (GtkWidget*) _tmp36_, FALSE, TRUE, (guint) 0);
1790+ gtk_box_reorder_child ((GtkBox*) logs_vb, (GtkWidget*) _tmp36_, 0);
1791 _tmp37_ = self->priv->cblogs;
1792- gtk_box_reorder_child ((GtkBox*) logs_vb, (GtkWidget*) _tmp37_, 0);
1793+ gtk_widget_show ((GtkWidget*) _tmp37_);
1794 _tmp38_ = self->priv->cblogs;
1795- gtk_widget_show ((GtkWidget*) _tmp38_);
1796- _tmp39_ = self->priv->cblogs;
1797- g_signal_connect ((GtkComboBox*) _tmp39_, "changed", (GCallback) ___lambda1__gtk_combo_box_changed, self);
1798- _tmp40_ = self->priv->builder;
1799- _tmp41_ = gtk_builder_get_object (_tmp40_, "bLogClose");
1800- _tmp42_ = _g_object_ref0 (GTK_IS_BUTTON (_tmp41_) ? ((GtkButton*) _tmp41_) : NULL);
1801- close_log = _tmp42_;
1802+ g_signal_connect ((GtkComboBox*) _tmp38_, "changed", (GCallback) ___lambda3__gtk_combo_box_changed, self);
1803+ _tmp39_ = self->priv->builder;
1804+ _tmp40_ = gtk_builder_get_object (_tmp39_, "bLogClose");
1805+ _tmp41_ = _g_object_ref0 (GTK_IS_BUTTON (_tmp40_) ? ((GtkButton*) _tmp40_) : NULL);
1806+ close_log = _tmp41_;
1807 g_signal_connect (close_log, "clicked", (GCallback) _smd_applet_close_logs_action_gtk_button_clicked, self);
1808- _tmp43_ = self->priv->log_win;
1809- g_signal_connect ((GtkWidget*) _tmp43_, "delete-event", (GCallback) _smd_applet_close_logs_event_gtk_widget_delete_event, self);
1810- _tmp44_ = self->priv->builder;
1811- _tmp45_ = gtk_builder_get_object (_tmp44_, "bClosePrefs");
1812- _tmp46_ = _g_object_ref0 (GTK_IS_BUTTON (_tmp45_) ? ((GtkButton*) _tmp45_) : NULL);
1813- close = _tmp46_;
1814+ _tmp42_ = self->priv->log_win;
1815+ g_signal_connect ((GtkWidget*) _tmp42_, "delete-event", (GCallback) _smd_applet_close_logs_event_gtk_widget_delete_event, self);
1816+ _tmp43_ = self->priv->builder;
1817+ _tmp44_ = gtk_builder_get_object (_tmp43_, "bClosePrefs");
1818+ _tmp45_ = _g_object_ref0 (GTK_IS_BUTTON (_tmp44_) ? ((GtkButton*) _tmp44_) : NULL);
1819+ close = _tmp45_;
1820 g_signal_connect (close, "clicked", (GCallback) _smd_applet_close_prefs_action_gtk_button_clicked, self);
1821- _tmp47_ = self->priv->builder;
1822- _tmp48_ = gtk_builder_get_object (_tmp47_, "cbIcon");
1823- _tmp49_ = _g_object_ref0 (GTK_IS_CHECK_BUTTON (_tmp48_) ? ((GtkCheckButton*) _tmp48_) : NULL);
1824- bicon = _tmp49_;
1825+ _tmp46_ = self->priv->builder;
1826+ _tmp47_ = gtk_builder_get_object (_tmp46_, "cbIcon");
1827+ _tmp48_ = _g_object_ref0 (GTK_IS_CHECK_BUTTON (_tmp47_) ? ((GtkCheckButton*) _tmp47_) : NULL);
1828+ bicon = _tmp48_;
1829 {
1830- GConfClient* _tmp50_;
1831- gboolean _tmp51_ = FALSE;
1832- gboolean _tmp52_;
1833- _tmp50_ = self->priv->gconf;
1834- _tmp51_ = gconf_client_get_bool (_tmp50_, SMD_APPLET_key_icon, &_inner_error_);
1835- _tmp52_ = _tmp51_;
1836+ GConfClient* _tmp49_;
1837+ gboolean _tmp50_ = FALSE;
1838+ gboolean _tmp51_;
1839+ _tmp49_ = self->priv->gconf;
1840+ _tmp50_ = gconf_client_get_bool (_tmp49_, SMD_APPLET_key_icon, &_inner_error_);
1841+ _tmp51_ = _tmp50_;
1842 if (_inner_error_ != NULL) {
1843 goto __catch3_g_error;
1844 }
1845- gtk_toggle_button_set_active ((GtkToggleButton*) bicon, _tmp52_);
1846+ gtk_toggle_button_set_active ((GtkToggleButton*) bicon, _tmp51_);
1847 }
1848 goto __finally3;
1849 __catch3_g_error:
1850 {
1851 GError* e = NULL;
1852- FILE* _tmp53_;
1853- GError* _tmp54_;
1854- const gchar* _tmp55_;
1855+ FILE* _tmp52_;
1856+ GError* _tmp53_;
1857+ const gchar* _tmp54_;
1858 e = _inner_error_;
1859 _inner_error_ = NULL;
1860- _tmp53_ = stderr;
1861- _tmp54_ = e;
1862- _tmp55_ = _tmp54_->message;
1863- fprintf (_tmp53_, "%s\n", _tmp55_);
1864+ _tmp52_ = stderr;
1865+ _tmp53_ = e;
1866+ _tmp54_ = _tmp53_->message;
1867+ fprintf (_tmp52_, "%s\n", _tmp54_);
1868 _g_error_free0 (e);
1869 }
1870 __finally3:
1871@@ -1840,36 +1926,36 @@
1872 return NULL;
1873 }
1874 }
1875- g_signal_connect ((GtkToggleButton*) bicon, "toggled", (GCallback) ___lambda3__gtk_toggle_button_toggled, self);
1876- _tmp56_ = self->priv->builder;
1877- _tmp57_ = gtk_builder_get_object (_tmp56_, "cbNotify");
1878- _tmp58_ = _g_object_ref0 (GTK_IS_CHECK_BUTTON (_tmp57_) ? ((GtkCheckButton*) _tmp57_) : NULL);
1879- bnotify = _tmp58_;
1880+ g_signal_connect ((GtkToggleButton*) bicon, "toggled", (GCallback) ___lambda5__gtk_toggle_button_toggled, self);
1881+ _tmp55_ = self->priv->builder;
1882+ _tmp56_ = gtk_builder_get_object (_tmp55_, "cbNotify");
1883+ _tmp57_ = _g_object_ref0 (GTK_IS_CHECK_BUTTON (_tmp56_) ? ((GtkCheckButton*) _tmp56_) : NULL);
1884+ bnotify = _tmp57_;
1885 {
1886- GConfClient* _tmp59_;
1887- gboolean _tmp60_ = FALSE;
1888- gboolean _tmp61_;
1889- _tmp59_ = self->priv->gconf;
1890- _tmp60_ = gconf_client_get_bool (_tmp59_, SMD_APPLET_key_newmail, &_inner_error_);
1891- _tmp61_ = _tmp60_;
1892+ GConfClient* _tmp58_;
1893+ gboolean _tmp59_ = FALSE;
1894+ gboolean _tmp60_;
1895+ _tmp58_ = self->priv->gconf;
1896+ _tmp59_ = gconf_client_get_bool (_tmp58_, SMD_APPLET_key_newmail, &_inner_error_);
1897+ _tmp60_ = _tmp59_;
1898 if (_inner_error_ != NULL) {
1899 goto __catch5_g_error;
1900 }
1901- gtk_toggle_button_set_active ((GtkToggleButton*) bnotify, _tmp61_);
1902+ gtk_toggle_button_set_active ((GtkToggleButton*) bnotify, _tmp60_);
1903 }
1904 goto __finally5;
1905 __catch5_g_error:
1906 {
1907 GError* e = NULL;
1908- FILE* _tmp62_;
1909- GError* _tmp63_;
1910- const gchar* _tmp64_;
1911+ FILE* _tmp61_;
1912+ GError* _tmp62_;
1913+ const gchar* _tmp63_;
1914 e = _inner_error_;
1915 _inner_error_ = NULL;
1916- _tmp62_ = stderr;
1917- _tmp63_ = e;
1918- _tmp64_ = _tmp63_->message;
1919- fprintf (_tmp62_, "%s\n", _tmp64_);
1920+ _tmp61_ = stderr;
1921+ _tmp62_ = e;
1922+ _tmp63_ = _tmp62_->message;
1923+ fprintf (_tmp61_, "%s\n", _tmp63_);
1924 _g_error_free0 (e);
1925 }
1926 __finally5:
1927@@ -1894,84 +1980,168 @@
1928 return NULL;
1929 }
1930 }
1931- g_signal_connect ((GtkToggleButton*) bnotify, "toggled", (GCallback) ___lambda4__gtk_toggle_button_toggled, self);
1932- _tmp65_ = self->priv->builder;
1933- _tmp66_ = gtk_builder_get_object (_tmp65_, "bClose");
1934- _tmp67_ = _g_object_ref0 (GTK_IS_BUTTON (_tmp66_) ? ((GtkButton*) _tmp66_) : NULL);
1935- bc = _tmp67_;
1936+ g_signal_connect ((GtkToggleButton*) bnotify, "toggled", (GCallback) ___lambda6__gtk_toggle_button_toggled, self);
1937+ _tmp64_ = self->priv->builder;
1938+ _tmp65_ = gtk_builder_get_object (_tmp64_, "cbAutostart");
1939+ _tmp66_ = _g_object_ref0 (GTK_IS_CHECK_BUTTON (_tmp65_) ? ((GtkCheckButton*) _tmp65_) : NULL);
1940+ bautostart = _tmp66_;
1941+ {
1942+ gchar* content = NULL;
1943+ const gchar* _tmp67_;
1944+ gchar* _tmp68_ = NULL;
1945+ gboolean _tmp69_ = FALSE;
1946+ gboolean _tmp70_;
1947+ _tmp67_ = XDG_AUTORUN_FILE;
1948+ _tmp69_ = g_file_get_contents (_tmp67_, &_tmp68_, NULL, &_inner_error_);
1949+ _g_free0 (content);
1950+ content = _tmp68_;
1951+ _tmp70_ = _tmp69_;
1952+ if (_inner_error_ != NULL) {
1953+ _g_free0 (content);
1954+ if (_inner_error_->domain == G_FILE_ERROR) {
1955+ goto __catch7_g_file_error;
1956+ }
1957+ _g_free0 (content);
1958+ _g_object_unref0 (bautostart);
1959+ _g_object_unref0 (bnotify);
1960+ _g_object_unref0 (bicon);
1961+ _g_object_unref0 (close);
1962+ _g_object_unref0 (close_log);
1963+ _g_object_unref0 (logs_vb);
1964+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1965+ g_clear_error (&_inner_error_);
1966+ return NULL;
1967+ }
1968+ if (_tmp70_) {
1969+ gboolean _tmp71_ = FALSE;
1970+ _tmp71_ = g_regex_match_simple (GNOME_AUTOSTART_DISABLED, content, 0, 0);
1971+ if (_tmp71_) {
1972+ gtk_toggle_button_set_active ((GtkToggleButton*) bautostart, FALSE);
1973+ } else {
1974+ gtk_toggle_button_set_active ((GtkToggleButton*) bautostart, TRUE);
1975+ }
1976+ } else {
1977+ gtk_toggle_button_set_active ((GtkToggleButton*) bautostart, FALSE);
1978+ }
1979+ _g_free0 (content);
1980+ }
1981+ goto __finally7;
1982+ __catch7_g_file_error:
1983+ {
1984+ GError* e = NULL;
1985+ FILE* _tmp72_;
1986+ GError* _tmp73_;
1987+ const gchar* _tmp74_;
1988+ e = _inner_error_;
1989+ _inner_error_ = NULL;
1990+ _tmp72_ = stderr;
1991+ _tmp73_ = e;
1992+ _tmp74_ = _tmp73_->message;
1993+ fprintf (_tmp72_, "%s\n", _tmp74_);
1994+ _g_error_free0 (e);
1995+ }
1996+ __finally7:
1997+ if (_inner_error_ != NULL) {
1998+ if (_inner_error_->domain == EXIT) {
1999+ g_propagate_error (error, _inner_error_);
2000+ _g_object_unref0 (bautostart);
2001+ _g_object_unref0 (bnotify);
2002+ _g_object_unref0 (bicon);
2003+ _g_object_unref0 (close);
2004+ _g_object_unref0 (close_log);
2005+ _g_object_unref0 (logs_vb);
2006+ _smd_applet_unref0 (self);
2007+ return NULL;
2008+ } else {
2009+ _g_object_unref0 (bautostart);
2010+ _g_object_unref0 (bnotify);
2011+ _g_object_unref0 (bicon);
2012+ _g_object_unref0 (close);
2013+ _g_object_unref0 (close_log);
2014+ _g_object_unref0 (logs_vb);
2015+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2016+ g_clear_error (&_inner_error_);
2017+ return NULL;
2018+ }
2019+ }
2020+ g_signal_connect ((GtkToggleButton*) bautostart, "toggled", (GCallback) ___lambda7__gtk_toggle_button_toggled, self);
2021+ _tmp75_ = self->priv->builder;
2022+ _tmp76_ = gtk_builder_get_object (_tmp75_, "bClose");
2023+ _tmp77_ = _g_object_ref0 (GTK_IS_BUTTON (_tmp76_) ? ((GtkButton*) _tmp76_) : NULL);
2024+ bc = _tmp77_;
2025 g_signal_connect (bc, "clicked", (GCallback) _smd_applet_close_err_action_gtk_button_clicked, self);
2026- _tmp68_ = self->priv->builder;
2027- _tmp69_ = gtk_builder_get_object (_tmp68_, "bEditLoopCfg");
2028- _tmp70_ = _g_object_ref0 (GTK_IS_BUTTON (_tmp69_) ? ((GtkButton*) _tmp69_) : NULL);
2029- bel = _tmp70_;
2030- g_signal_connect (bel, "clicked", (GCallback) ___lambda5__gtk_button_clicked, self);
2031- _tmp71_ = self->priv->builder;
2032- _tmp72_ = gtk_builder_get_object (_tmp71_, "bEditPushPullCfg");
2033- _tmp73_ = _g_object_ref0 (GTK_IS_BUTTON (_tmp72_) ? ((GtkButton*) _tmp72_) : NULL);
2034- bepp = _tmp73_;
2035- g_signal_connect (bepp, "clicked", (GCallback) ___lambda6__gtk_button_clicked, self);
2036- _tmp74_ = self->priv->builder;
2037- _tmp75_ = gtk_builder_get_object (_tmp74_, "mLeft");
2038- _tmp76_ = _g_object_ref0 (GTK_IS_MENU (_tmp75_) ? ((GtkMenu*) _tmp75_) : NULL);
2039+ _tmp78_ = self->priv->builder;
2040+ _tmp79_ = gtk_builder_get_object (_tmp78_, "bEditLoopCfg");
2041+ _tmp80_ = _g_object_ref0 (GTK_IS_BUTTON (_tmp79_) ? ((GtkButton*) _tmp79_) : NULL);
2042+ bel = _tmp80_;
2043+ g_signal_connect (bel, "clicked", (GCallback) ___lambda8__gtk_button_clicked, self);
2044+ _tmp81_ = self->priv->builder;
2045+ _tmp82_ = gtk_builder_get_object (_tmp81_, "bEditPushPullCfg");
2046+ _tmp83_ = _g_object_ref0 (GTK_IS_BUTTON (_tmp82_) ? ((GtkButton*) _tmp82_) : NULL);
2047+ bepp = _tmp83_;
2048+ g_signal_connect (bepp, "clicked", (GCallback) ___lambda9__gtk_button_clicked, self);
2049+ _tmp84_ = self->priv->builder;
2050+ _tmp85_ = gtk_builder_get_object (_tmp84_, "mLeft");
2051+ _tmp86_ = _g_object_ref0 (GTK_IS_MENU (_tmp85_) ? ((GtkMenu*) _tmp85_) : NULL);
2052 _g_object_unref0 (self->priv->menuL);
2053- self->priv->menuL = _tmp76_;
2054- _tmp77_ = self->priv->builder;
2055- _tmp78_ = gtk_builder_get_object (_tmp77_, "mRight");
2056- _tmp79_ = _g_object_ref0 (GTK_IS_MENU (_tmp78_) ? ((GtkMenu*) _tmp78_) : NULL);
2057- _g_object_unref0 (self->priv->menuR);
2058- self->priv->menuR = _tmp79_;
2059- _tmp80_ = self->priv->builder;
2060- _tmp81_ = gtk_builder_get_object (_tmp80_, "miQuit");
2061- _tmp82_ = _g_object_ref0 (GTK_IS_MENU_ITEM (_tmp81_) ? ((GtkMenuItem*) _tmp81_) : NULL);
2062- quit = _tmp82_;
2063- g_signal_connect (quit, "activate", (GCallback) ___lambda7__gtk_menu_item_activate, self);
2064- _tmp83_ = self->priv->builder;
2065- _tmp84_ = gtk_builder_get_object (_tmp83_, "miPause");
2066- _tmp85_ = _g_object_ref0 (GTK_IS_CHECK_MENU_ITEM (_tmp84_) ? ((GtkCheckMenuItem*) _tmp84_) : NULL);
2067- _g_object_unref0 (self->priv->miPause);
2068- self->priv->miPause = _tmp85_;
2069- _tmp86_ = self->priv->miPause;
2070- g_signal_connect (_tmp86_, "toggled", (GCallback) ___lambda8__gtk_check_menu_item_toggled, self);
2071+ self->priv->menuL = _tmp86_;
2072 _tmp87_ = self->priv->builder;
2073- _tmp88_ = gtk_builder_get_object (_tmp87_, "miAbout");
2074- _tmp89_ = _g_object_ref0 (GTK_IS_MENU_ITEM (_tmp88_) ? ((GtkMenuItem*) _tmp88_) : NULL);
2075- about = _tmp89_;
2076- _tmp90_ = self->priv->about_win;
2077- g_signal_connect ((GtkDialog*) _tmp90_, "response", (GCallback) ___lambda9__gtk_dialog_response, self);
2078- g_signal_connect (about, "activate", (GCallback) ___lambda10__gtk_menu_item_activate, self);
2079- _tmp91_ = self->priv->about_win;
2080- gtk_about_dialog_set_comments (_tmp91_, "GNOME applet for syncmaildir version " SMD_CONF_VERSION);
2081- _tmp92_ = self->priv->builder;
2082- _tmp93_ = gtk_builder_get_object (_tmp92_, "miPrefs");
2083- _tmp94_ = _g_object_ref0 (GTK_IS_MENU_ITEM (_tmp93_) ? ((GtkMenuItem*) _tmp93_) : NULL);
2084- prefs = _tmp94_;
2085- g_signal_connect (prefs, "activate", (GCallback) ___lambda11__gtk_menu_item_activate, self);
2086- _tmp95_ = self->priv->builder;
2087- _tmp96_ = gtk_builder_get_object (_tmp95_, "miLog");
2088- _tmp97_ = _g_object_ref0 (GTK_IS_MENU_ITEM (_tmp96_) ? ((GtkMenuItem*) _tmp96_) : NULL);
2089- logs = _tmp97_;
2090- g_signal_connect (logs, "activate", (GCallback) ___lambda12__gtk_menu_item_activate, self);
2091- _tmp98_ = gtk_status_icon_new_from_icon_name ("mail-send-receive");
2092+ _tmp88_ = gtk_builder_get_object (_tmp87_, "mRight");
2093+ _tmp89_ = _g_object_ref0 (GTK_IS_MENU (_tmp88_) ? ((GtkMenu*) _tmp88_) : NULL);
2094+ _g_object_unref0 (self->priv->menuR);
2095+ self->priv->menuR = _tmp89_;
2096+ _tmp90_ = self->priv->builder;
2097+ _tmp91_ = gtk_builder_get_object (_tmp90_, "miQuit");
2098+ _tmp92_ = _g_object_ref0 (GTK_IS_MENU_ITEM (_tmp91_) ? ((GtkMenuItem*) _tmp91_) : NULL);
2099+ quit = _tmp92_;
2100+ g_signal_connect (quit, "activate", (GCallback) ___lambda10__gtk_menu_item_activate, self);
2101+ _tmp93_ = self->priv->builder;
2102+ _tmp94_ = gtk_builder_get_object (_tmp93_, "miPause");
2103+ _tmp95_ = _g_object_ref0 (GTK_IS_CHECK_MENU_ITEM (_tmp94_) ? ((GtkCheckMenuItem*) _tmp94_) : NULL);
2104+ _g_object_unref0 (self->priv->miPause);
2105+ self->priv->miPause = _tmp95_;
2106+ _tmp96_ = self->priv->miPause;
2107+ g_signal_connect (_tmp96_, "toggled", (GCallback) ___lambda11__gtk_check_menu_item_toggled, self);
2108+ _tmp97_ = self->priv->builder;
2109+ _tmp98_ = gtk_builder_get_object (_tmp97_, "miAbout");
2110+ _tmp99_ = _g_object_ref0 (GTK_IS_MENU_ITEM (_tmp98_) ? ((GtkMenuItem*) _tmp98_) : NULL);
2111+ about = _tmp99_;
2112+ _tmp100_ = self->priv->about_win;
2113+ g_signal_connect ((GtkDialog*) _tmp100_, "response", (GCallback) ___lambda12__gtk_dialog_response, self);
2114+ g_signal_connect (about, "activate", (GCallback) ___lambda13__gtk_menu_item_activate, self);
2115+ _tmp101_ = self->priv->about_win;
2116+ gtk_about_dialog_set_comments (_tmp101_, "GNOME applet for syncmaildir version " SMD_CONF_VERSION);
2117+ _tmp102_ = self->priv->builder;
2118+ _tmp103_ = gtk_builder_get_object (_tmp102_, "miPrefs");
2119+ _tmp104_ = _g_object_ref0 (GTK_IS_MENU_ITEM (_tmp103_) ? ((GtkMenuItem*) _tmp103_) : NULL);
2120+ prefs = _tmp104_;
2121+ g_signal_connect (prefs, "activate", (GCallback) ___lambda14__gtk_menu_item_activate, self);
2122+ _tmp105_ = self->priv->builder;
2123+ _tmp106_ = gtk_builder_get_object (_tmp105_, "miLog");
2124+ _tmp107_ = _g_object_ref0 (GTK_IS_MENU_ITEM (_tmp106_) ? ((GtkMenuItem*) _tmp106_) : NULL);
2125+ logs = _tmp107_;
2126+ g_signal_connect (logs, "activate", (GCallback) ___lambda15__gtk_menu_item_activate, self);
2127+ _tmp108_ = gtk_status_icon_new_from_icon_name ("mail-send-receive");
2128 _g_object_unref0 (self->priv->si);
2129- self->priv->si = _tmp98_;
2130- _tmp99_ = self->priv->si;
2131- _tmp100_ = hide_status_icon;
2132- gtk_status_icon_set_visible (_tmp99_, !_tmp100_);
2133- _tmp101_ = self->priv->si;
2134- gtk_status_icon_set_tooltip_text (_tmp101_, "smd-applet is running");
2135- _tmp102_ = self->priv->si;
2136- g_signal_connect (_tmp102_, "popup-menu", (GCallback) ___lambda13__gtk_status_icon_popup_menu, self);
2137- _tmp103_ = self->priv->si;
2138- g_signal_connect (_tmp103_, "activate", (GCallback) ___lambda14__gtk_status_icon_activate, self);
2139- _tmp104_ = notify_get_server_caps ();
2140- l = _tmp104_;
2141- _tmp105_ = g_list_index (l, "persistence");
2142- self->priv->notification_server_has_persistence = 0 <= _tmp105_;
2143- _tmp106_ = g_direct_hash;
2144- _tmp107_ = g_str_equal;
2145- _tmp108_ = g_hash_table_new_full (_tmp106_, _tmp107_, _g_object_unref0_, _g_free0_);
2146+ self->priv->si = _tmp108_;
2147+ _tmp109_ = self->priv->si;
2148+ _tmp110_ = hide_status_icon;
2149+ gtk_status_icon_set_visible (_tmp109_, !_tmp110_);
2150+ _tmp111_ = self->priv->si;
2151+ gtk_status_icon_set_tooltip_text (_tmp111_, "smd-applet is running");
2152+ _tmp112_ = self->priv->si;
2153+ g_signal_connect (_tmp112_, "popup-menu", (GCallback) ___lambda16__gtk_status_icon_popup_menu, self);
2154+ _tmp113_ = self->priv->si;
2155+ g_signal_connect (_tmp113_, "activate", (GCallback) ___lambda17__gtk_status_icon_activate, self);
2156+ _tmp114_ = notify_get_server_caps ();
2157+ l = _tmp114_;
2158+ _tmp115_ = g_list_index (l, "persistence");
2159+ self->priv->notification_server_has_persistence = 0 <= _tmp115_;
2160+ _tmp116_ = g_direct_hash;
2161+ _tmp117_ = g_str_equal;
2162+ _tmp118_ = g_hash_table_new_full (_tmp116_, _tmp117_, _g_object_unref0_, _g_free0_);
2163 _g_hash_table_unref0 (self->priv->command_hash);
2164- self->priv->command_hash = _tmp108_;
2165+ self->priv->command_hash = _tmp118_;
2166 _g_object_unref0 (logs);
2167 _g_object_unref0 (prefs);
2168 _g_object_unref0 (about);
2169@@ -1979,6 +2149,7 @@
2170 _g_object_unref0 (bepp);
2171 _g_object_unref0 (bel);
2172 _g_object_unref0 (bc);
2173+ _g_object_unref0 (bautostart);
2174 _g_object_unref0 (bnotify);
2175 _g_object_unref0 (bicon);
2176 _g_object_unref0 (close);
2177@@ -2023,7 +2194,7 @@
2178 _tmp5_ = _tmp4_;
2179 if (_inner_error_ != NULL) {
2180 if (_inner_error_->domain == EXIT) {
2181- goto __catch9_exit;
2182+ goto __catch11_exit;
2183 }
2184 g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2185 g_clear_error (&_inner_error_);
2186@@ -2031,8 +2202,8 @@
2187 }
2188 rc = _tmp5_;
2189 }
2190- goto __finally9;
2191- __catch9_exit:
2192+ goto __finally11;
2193+ __catch11_exit:
2194 {
2195 GError* e = NULL;
2196 e = _inner_error_;
2197@@ -2040,7 +2211,7 @@
2198 rc = FALSE;
2199 _g_error_free0 (e);
2200 }
2201- __finally9:
2202+ __finally11:
2203 if (_inner_error_ != NULL) {
2204 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2205 g_clear_error (&_inner_error_);
2206@@ -2065,7 +2236,6 @@
2207 gboolean _tmp2_;
2208 gboolean _tmp4_;
2209 gboolean _tmp9_;
2210- GError * _inner_error_ = NULL;
2211 g_return_if_fail (self != NULL);
2212 _tmp2_ = force;
2213 if (!_tmp2_) {
2214@@ -2095,39 +2265,10 @@
2215 _tmp10_ = self->priv->miPause;
2216 gtk_check_menu_item_set_active (_tmp10_, TRUE);
2217 } else {
2218- {
2219- GThread* _tmp11_ = NULL;
2220- GThread* _tmp12_;
2221- _tmp11_ = g_thread_create (_smd_applet_smdThread_gthread_func, self, TRUE, &_inner_error_);
2222- _tmp12_ = _tmp11_;
2223- if (_inner_error_ != NULL) {
2224- if (_inner_error_->domain == G_THREAD_ERROR) {
2225- goto __catch10_g_thread_error;
2226- }
2227- g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2228- g_clear_error (&_inner_error_);
2229- return;
2230- }
2231- self->priv->thread = _tmp12_;
2232- }
2233- goto __finally10;
2234- __catch10_g_thread_error:
2235- {
2236- GError* e = NULL;
2237- FILE* _tmp13_;
2238- e = _inner_error_;
2239- _inner_error_ = NULL;
2240- _tmp13_ = stderr;
2241- fprintf (_tmp13_, "Unable to start a thread\n");
2242- gtk_main_quit ();
2243- _g_error_free0 (e);
2244- }
2245- __finally10:
2246- if (_inner_error_ != NULL) {
2247- g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2248- g_clear_error (&_inner_error_);
2249- return;
2250- }
2251+ GThread* _tmp11_;
2252+ _tmp11_ = g_thread_new (NULL, _smd_applet_smdThread_gthread_func, self);
2253+ _g_thread_unref0 (self->priv->thread);
2254+ self->priv->thread = _tmp11_;
2255 }
2256 }
2257
2258@@ -2273,36 +2414,34 @@
2259 gchar* _tmp29_;
2260 gboolean _tmp30_;
2261 gboolean _tmp34_;
2262- GMatchInfo* _tmp43_;
2263- gchar* _tmp44_ = NULL;
2264- gchar* _tmp45_;
2265- gboolean _tmp46_;
2266+ GMatchInfo* _tmp41_;
2267+ gchar* _tmp42_ = NULL;
2268+ gchar* _tmp43_;
2269+ gboolean _tmp44_;
2270 gchar* permissions;
2271 gchar* mail_name;
2272 gchar* mail_body;
2273- GeeArrayList* _tmp60_;
2274+ GeeArrayList* _tmp56_;
2275 GeeArrayList* commands;
2276- gboolean _tmp61_;
2277- GMutex* _tmp134_;
2278- GeeArrayList* _tmp135_;
2279- GeeArrayList* _tmp136_;
2280- gint _tmp137_;
2281- gint _tmp138_;
2282- const gchar* _tmp139_;
2283- const gchar* _tmp140_;
2284- GMatchInfo* _tmp141_;
2285- gchar* _tmp142_ = NULL;
2286- gchar* _tmp143_;
2287- GMatchInfo* _tmp144_;
2288- gchar* _tmp145_ = NULL;
2289- gchar* _tmp146_;
2290- const gchar* _tmp147_;
2291- const gchar* _tmp148_;
2292- const gchar* _tmp149_;
2293- GeeArrayList* _tmp150_;
2294- Event* _tmp151_ = NULL;
2295- Event* _tmp152_;
2296- GMutex* _tmp153_;
2297+ gboolean _tmp57_;
2298+ GeeArrayList* _tmp130_;
2299+ GeeArrayList* _tmp131_;
2300+ gint _tmp132_;
2301+ gint _tmp133_;
2302+ const gchar* _tmp134_;
2303+ const gchar* _tmp135_;
2304+ GMatchInfo* _tmp136_;
2305+ gchar* _tmp137_ = NULL;
2306+ gchar* _tmp138_;
2307+ GMatchInfo* _tmp139_;
2308+ gchar* _tmp140_ = NULL;
2309+ gchar* _tmp141_;
2310+ const gchar* _tmp142_;
2311+ const gchar* _tmp143_;
2312+ const gchar* _tmp144_;
2313+ GeeArrayList* _tmp145_;
2314+ Event* _tmp146_ = NULL;
2315+ Event* _tmp147_;
2316 GError * _inner_error_ = NULL;
2317 g_return_val_if_fail (self != NULL, FALSE);
2318 g_return_val_if_fail (args != NULL, FALSE);
2319@@ -2463,26 +2602,22 @@
2320 }
2321 _tmp34_ = _tmp26_;
2322 if (_tmp34_) {
2323- GMutex* _tmp35_;
2324+ GeeArrayList* _tmp35_;
2325 GeeArrayList* _tmp36_;
2326- GeeArrayList* _tmp37_;
2327+ gint _tmp37_;
2328 gint _tmp38_;
2329- gint _tmp39_;
2330- Event* _tmp40_ = NULL;
2331- Event* _tmp41_;
2332- GMutex* _tmp42_;
2333- _tmp35_ = self->priv->events_lock;
2334- g_mutex_lock (_tmp35_);
2335+ Event* _tmp39_ = NULL;
2336+ Event* _tmp40_;
2337+ g_mutex_lock (&self->priv->events_lock);
2338+ _tmp35_ = self->priv->events;
2339 _tmp36_ = self->priv->events;
2340- _tmp37_ = self->priv->events;
2341- _tmp38_ = gee_collection_get_size ((GeeCollection*) _tmp37_);
2342- _tmp39_ = _tmp38_;
2343- _tmp40_ = event_network_error ();
2344- _tmp41_ = _tmp40_;
2345- gee_abstract_list_insert ((GeeAbstractList*) _tmp36_, _tmp39_, _tmp41_);
2346- _event_unref0 (_tmp41_);
2347- _tmp42_ = self->priv->events_lock;
2348- g_mutex_unlock (_tmp42_);
2349+ _tmp37_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp36_);
2350+ _tmp38_ = _tmp37_;
2351+ _tmp39_ = event_network_error ();
2352+ _tmp40_ = _tmp39_;
2353+ gee_abstract_list_insert ((GeeAbstractList*) _tmp35_, _tmp38_, _tmp40_);
2354+ _event_unref0 (_tmp40_);
2355+ g_mutex_unlock (&self->priv->events_lock);
2356 result = TRUE;
2357 _g_match_info_free0 (i_act);
2358 _g_match_info_free0 (i_human);
2359@@ -2494,44 +2629,40 @@
2360 _g_regex_unref0 (context);
2361 return result;
2362 }
2363- _tmp43_ = i_human;
2364- _tmp44_ = g_match_info_fetch (_tmp43_, 1);
2365- _tmp45_ = _tmp44_;
2366- _tmp46_ = g_strcmp0 (_tmp45_, "necessary") != 0;
2367- _g_free0 (_tmp45_);
2368- if (_tmp46_) {
2369- FILE* _tmp47_;
2370- const gchar* _tmp48_;
2371- GMutex* _tmp49_;
2372- GeeArrayList* _tmp50_;
2373- GeeArrayList* _tmp51_;
2374- gint _tmp52_;
2375- gint _tmp53_;
2376- GMatchInfo* _tmp54_;
2377- gchar* _tmp55_ = NULL;
2378- gchar* _tmp56_;
2379- Event* _tmp57_ = NULL;
2380- Event* _tmp58_;
2381- GMutex* _tmp59_;
2382- _tmp47_ = stderr;
2383- _tmp48_ = args;
2384- fprintf (_tmp47_, "smd-loop giving an avoidable error: %s\n", _tmp48_);
2385- _tmp49_ = self->priv->events_lock;
2386- g_mutex_lock (_tmp49_);
2387- _tmp50_ = self->priv->events;
2388- _tmp51_ = self->priv->events;
2389- _tmp52_ = gee_collection_get_size ((GeeCollection*) _tmp51_);
2390+ _tmp41_ = i_human;
2391+ _tmp42_ = g_match_info_fetch (_tmp41_, 1);
2392+ _tmp43_ = _tmp42_;
2393+ _tmp44_ = g_strcmp0 (_tmp43_, "necessary") != 0;
2394+ _g_free0 (_tmp43_);
2395+ if (_tmp44_) {
2396+ FILE* _tmp45_;
2397+ const gchar* _tmp46_;
2398+ GeeArrayList* _tmp47_;
2399+ GeeArrayList* _tmp48_;
2400+ gint _tmp49_;
2401+ gint _tmp50_;
2402+ GMatchInfo* _tmp51_;
2403+ gchar* _tmp52_ = NULL;
2404+ gchar* _tmp53_;
2405+ Event* _tmp54_ = NULL;
2406+ Event* _tmp55_;
2407+ _tmp45_ = stderr;
2408+ _tmp46_ = args;
2409+ fprintf (_tmp45_, "smd-loop giving an avoidable error: %s\n", _tmp46_);
2410+ g_mutex_lock (&self->priv->events_lock);
2411+ _tmp47_ = self->priv->events;
2412+ _tmp48_ = self->priv->events;
2413+ _tmp49_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp48_);
2414+ _tmp50_ = _tmp49_;
2415+ _tmp51_ = i_cause;
2416+ _tmp52_ = g_match_info_fetch (_tmp51_, 1);
2417 _tmp53_ = _tmp52_;
2418- _tmp54_ = i_cause;
2419- _tmp55_ = g_match_info_fetch (_tmp54_, 1);
2420- _tmp56_ = _tmp55_;
2421- _tmp57_ = event_generic_error (_tmp56_);
2422- _tmp58_ = _tmp57_;
2423- gee_abstract_list_insert ((GeeAbstractList*) _tmp50_, _tmp53_, _tmp58_);
2424- _event_unref0 (_tmp58_);
2425- _g_free0 (_tmp56_);
2426- _tmp59_ = self->priv->events_lock;
2427- g_mutex_unlock (_tmp59_);
2428+ _tmp54_ = event_generic_error (_tmp53_);
2429+ _tmp55_ = _tmp54_;
2430+ gee_abstract_list_insert ((GeeAbstractList*) _tmp47_, _tmp50_, _tmp55_);
2431+ _event_unref0 (_tmp55_);
2432+ _g_free0 (_tmp53_);
2433+ g_mutex_unlock (&self->priv->events_lock);
2434 result = TRUE;
2435 _g_match_info_free0 (i_act);
2436 _g_match_info_free0 (i_human);
2437@@ -2546,103 +2677,103 @@
2438 permissions = NULL;
2439 mail_name = NULL;
2440 mail_body = NULL;
2441- _tmp60_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL);
2442- commands = _tmp60_;
2443- _tmp61_ = has_actions;
2444- if (_tmp61_) {
2445- GMatchInfo* _tmp62_;
2446- gchar* _tmp63_ = NULL;
2447+ _tmp56_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL);
2448+ commands = _tmp56_;
2449+ _tmp57_ = has_actions;
2450+ if (_tmp57_) {
2451+ GMatchInfo* _tmp58_;
2452+ gchar* _tmp59_ = NULL;
2453 gchar* acts;
2454- GRegex* _tmp64_;
2455+ GRegex* _tmp60_;
2456 GRegex* r_perm;
2457- GRegex* _tmp65_;
2458+ GRegex* _tmp61_;
2459 GRegex* r_mail;
2460- GRegex* _tmp66_;
2461+ GRegex* _tmp62_;
2462 GRegex* r_cmd;
2463 gint from;
2464- _tmp62_ = i_act;
2465- _tmp63_ = g_match_info_fetch (_tmp62_, 1);
2466- acts = _tmp63_;
2467- _tmp64_ = g_regex_new ("display-permissions\\(([^\\)]+)\\)", 0, 0, &_inner_error_);
2468- r_perm = _tmp64_;
2469- if (_inner_error_ != NULL) {
2470- if (_inner_error_->domain == G_REGEX_ERROR) {
2471- g_propagate_error (error, _inner_error_);
2472- _g_free0 (acts);
2473- _g_object_unref0 (commands);
2474- _g_free0 (mail_body);
2475- _g_free0 (mail_name);
2476- _g_free0 (permissions);
2477- _g_match_info_free0 (i_act);
2478- _g_match_info_free0 (i_human);
2479- _g_match_info_free0 (i_cause);
2480- _g_match_info_free0 (i_ctx);
2481- _g_regex_unref0 (actions);
2482- _g_regex_unref0 (human);
2483- _g_regex_unref0 (cause);
2484- _g_regex_unref0 (context);
2485- return FALSE;
2486- } else {
2487- _g_free0 (acts);
2488- _g_object_unref0 (commands);
2489- _g_free0 (mail_body);
2490- _g_free0 (mail_name);
2491- _g_free0 (permissions);
2492- _g_match_info_free0 (i_act);
2493- _g_match_info_free0 (i_human);
2494- _g_match_info_free0 (i_cause);
2495- _g_match_info_free0 (i_ctx);
2496- _g_regex_unref0 (actions);
2497- _g_regex_unref0 (human);
2498- _g_regex_unref0 (cause);
2499- _g_regex_unref0 (context);
2500- g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2501- g_clear_error (&_inner_error_);
2502- return FALSE;
2503- }
2504- }
2505- _tmp65_ = g_regex_new ("display-mail\\(([^\\)]+)\\)", 0, 0, &_inner_error_);
2506- r_mail = _tmp65_;
2507- if (_inner_error_ != NULL) {
2508- if (_inner_error_->domain == G_REGEX_ERROR) {
2509- g_propagate_error (error, _inner_error_);
2510- _g_regex_unref0 (r_perm);
2511- _g_free0 (acts);
2512- _g_object_unref0 (commands);
2513- _g_free0 (mail_body);
2514- _g_free0 (mail_name);
2515- _g_free0 (permissions);
2516- _g_match_info_free0 (i_act);
2517- _g_match_info_free0 (i_human);
2518- _g_match_info_free0 (i_cause);
2519- _g_match_info_free0 (i_ctx);
2520- _g_regex_unref0 (actions);
2521- _g_regex_unref0 (human);
2522- _g_regex_unref0 (cause);
2523- _g_regex_unref0 (context);
2524- return FALSE;
2525- } else {
2526- _g_regex_unref0 (r_perm);
2527- _g_free0 (acts);
2528- _g_object_unref0 (commands);
2529- _g_free0 (mail_body);
2530- _g_free0 (mail_name);
2531- _g_free0 (permissions);
2532- _g_match_info_free0 (i_act);
2533- _g_match_info_free0 (i_human);
2534- _g_match_info_free0 (i_cause);
2535- _g_match_info_free0 (i_ctx);
2536- _g_regex_unref0 (actions);
2537- _g_regex_unref0 (human);
2538- _g_regex_unref0 (cause);
2539- _g_regex_unref0 (context);
2540- g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2541- g_clear_error (&_inner_error_);
2542- return FALSE;
2543- }
2544- }
2545- _tmp66_ = g_regex_new ("run\\(([^\\)]+)\\)", 0, 0, &_inner_error_);
2546- r_cmd = _tmp66_;
2547+ _tmp58_ = i_act;
2548+ _tmp59_ = g_match_info_fetch (_tmp58_, 1);
2549+ acts = _tmp59_;
2550+ _tmp60_ = g_regex_new ("display-permissions\\(([^\\)]+)\\)", 0, 0, &_inner_error_);
2551+ r_perm = _tmp60_;
2552+ if (_inner_error_ != NULL) {
2553+ if (_inner_error_->domain == G_REGEX_ERROR) {
2554+ g_propagate_error (error, _inner_error_);
2555+ _g_free0 (acts);
2556+ _g_object_unref0 (commands);
2557+ _g_free0 (mail_body);
2558+ _g_free0 (mail_name);
2559+ _g_free0 (permissions);
2560+ _g_match_info_free0 (i_act);
2561+ _g_match_info_free0 (i_human);
2562+ _g_match_info_free0 (i_cause);
2563+ _g_match_info_free0 (i_ctx);
2564+ _g_regex_unref0 (actions);
2565+ _g_regex_unref0 (human);
2566+ _g_regex_unref0 (cause);
2567+ _g_regex_unref0 (context);
2568+ return FALSE;
2569+ } else {
2570+ _g_free0 (acts);
2571+ _g_object_unref0 (commands);
2572+ _g_free0 (mail_body);
2573+ _g_free0 (mail_name);
2574+ _g_free0 (permissions);
2575+ _g_match_info_free0 (i_act);
2576+ _g_match_info_free0 (i_human);
2577+ _g_match_info_free0 (i_cause);
2578+ _g_match_info_free0 (i_ctx);
2579+ _g_regex_unref0 (actions);
2580+ _g_regex_unref0 (human);
2581+ _g_regex_unref0 (cause);
2582+ _g_regex_unref0 (context);
2583+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2584+ g_clear_error (&_inner_error_);
2585+ return FALSE;
2586+ }
2587+ }
2588+ _tmp61_ = g_regex_new ("display-mail\\(([^\\)]+)\\)", 0, 0, &_inner_error_);
2589+ r_mail = _tmp61_;
2590+ if (_inner_error_ != NULL) {
2591+ if (_inner_error_->domain == G_REGEX_ERROR) {
2592+ g_propagate_error (error, _inner_error_);
2593+ _g_regex_unref0 (r_perm);
2594+ _g_free0 (acts);
2595+ _g_object_unref0 (commands);
2596+ _g_free0 (mail_body);
2597+ _g_free0 (mail_name);
2598+ _g_free0 (permissions);
2599+ _g_match_info_free0 (i_act);
2600+ _g_match_info_free0 (i_human);
2601+ _g_match_info_free0 (i_cause);
2602+ _g_match_info_free0 (i_ctx);
2603+ _g_regex_unref0 (actions);
2604+ _g_regex_unref0 (human);
2605+ _g_regex_unref0 (cause);
2606+ _g_regex_unref0 (context);
2607+ return FALSE;
2608+ } else {
2609+ _g_regex_unref0 (r_perm);
2610+ _g_free0 (acts);
2611+ _g_object_unref0 (commands);
2612+ _g_free0 (mail_body);
2613+ _g_free0 (mail_name);
2614+ _g_free0 (permissions);
2615+ _g_match_info_free0 (i_act);
2616+ _g_match_info_free0 (i_human);
2617+ _g_match_info_free0 (i_cause);
2618+ _g_match_info_free0 (i_ctx);
2619+ _g_regex_unref0 (actions);
2620+ _g_regex_unref0 (human);
2621+ _g_regex_unref0 (cause);
2622+ _g_regex_unref0 (context);
2623+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2624+ g_clear_error (&_inner_error_);
2625+ return FALSE;
2626+ }
2627+ }
2628+ _tmp62_ = g_regex_new ("run\\(([^\\)]+)\\)", 0, 0, &_inner_error_);
2629+ r_cmd = _tmp62_;
2630 if (_inner_error_ != NULL) {
2631 if (_inner_error_->domain == G_REGEX_ERROR) {
2632 g_propagate_error (error, _inner_error_);
2633@@ -2685,84 +2816,84 @@
2634 }
2635 from = 0;
2636 {
2637- gboolean _tmp67_;
2638- _tmp67_ = TRUE;
2639+ gboolean _tmp63_;
2640+ _tmp63_ = TRUE;
2641 while (TRUE) {
2642- gboolean _tmp68_;
2643- gboolean _tmp69_ = FALSE;
2644- const gchar* _tmp70_;
2645- gboolean _tmp74_;
2646+ gboolean _tmp64_;
2647+ gboolean _tmp65_ = FALSE;
2648+ const gchar* _tmp66_;
2649+ gboolean _tmp70_;
2650 GMatchInfo* i_cmd;
2651- GRegex* _tmp75_;
2652- const gchar* _tmp76_;
2653- GMatchInfo* _tmp77_ = NULL;
2654- gboolean _tmp78_ = FALSE;
2655- const gchar* _tmp131_;
2656- gint _tmp132_;
2657- gchar* _tmp133_ = NULL;
2658- _tmp68_ = _tmp67_;
2659- if (!_tmp68_) {
2660+ GRegex* _tmp71_;
2661+ const gchar* _tmp72_;
2662+ GMatchInfo* _tmp73_ = NULL;
2663+ gboolean _tmp74_ = FALSE;
2664+ const gchar* _tmp127_;
2665+ gint _tmp128_;
2666+ gchar* _tmp129_ = NULL;
2667+ _tmp64_ = _tmp63_;
2668+ if (!_tmp64_) {
2669 }
2670- _tmp67_ = FALSE;
2671- _tmp70_ = acts;
2672- if (_tmp70_ != NULL) {
2673- const gchar* _tmp71_;
2674- gint _tmp72_;
2675- gint _tmp73_;
2676- _tmp71_ = acts;
2677- _tmp72_ = strlen (_tmp71_);
2678- _tmp73_ = _tmp72_;
2679- _tmp69_ = _tmp73_ > 0;
2680+ _tmp63_ = FALSE;
2681+ _tmp66_ = acts;
2682+ if (_tmp66_ != NULL) {
2683+ const gchar* _tmp67_;
2684+ gint _tmp68_;
2685+ gint _tmp69_;
2686+ _tmp67_ = acts;
2687+ _tmp68_ = strlen (_tmp67_);
2688+ _tmp69_ = _tmp68_;
2689+ _tmp65_ = _tmp69_ > 0;
2690 } else {
2691- _tmp69_ = FALSE;
2692+ _tmp65_ = FALSE;
2693 }
2694- _tmp74_ = _tmp69_;
2695- if (!_tmp74_) {
2696+ _tmp70_ = _tmp65_;
2697+ if (!_tmp70_) {
2698 break;
2699 }
2700 i_cmd = NULL;
2701- _tmp75_ = r_perm;
2702- _tmp76_ = acts;
2703- _tmp78_ = g_regex_match (_tmp75_, _tmp76_, 0, &_tmp77_);
2704+ _tmp71_ = r_perm;
2705+ _tmp72_ = acts;
2706+ _tmp74_ = g_regex_match (_tmp71_, _tmp72_, 0, &_tmp73_);
2707 _g_match_info_free0 (i_cmd);
2708- i_cmd = _tmp77_;
2709- if (_tmp78_) {
2710- GMatchInfo* _tmp79_;
2711- gint _tmp80_ = 0;
2712- GMatchInfo* _tmp81_;
2713- gchar* _tmp82_ = NULL;
2714+ i_cmd = _tmp73_;
2715+ if (_tmp74_) {
2716+ GMatchInfo* _tmp75_;
2717+ gint _tmp76_ = 0;
2718+ GMatchInfo* _tmp77_;
2719+ gchar* _tmp78_ = NULL;
2720 gchar* file;
2721 gchar* output;
2722 gchar* err;
2723- _tmp79_ = i_cmd;
2724- g_match_info_fetch_pos (_tmp79_, 0, NULL, &_tmp80_);
2725- from = _tmp80_;
2726- _tmp81_ = i_cmd;
2727- _tmp82_ = g_match_info_fetch (_tmp81_, 1);
2728- file = _tmp82_;
2729+ _tmp75_ = i_cmd;
2730+ g_match_info_fetch_pos (_tmp75_, 0, NULL, &_tmp76_);
2731+ from = _tmp76_;
2732+ _tmp77_ = i_cmd;
2733+ _tmp78_ = g_match_info_fetch (_tmp77_, 1);
2734+ file = _tmp78_;
2735 output = NULL;
2736 err = NULL;
2737 {
2738- const gchar* _tmp83_;
2739- gchar* _tmp84_;
2740- gchar* _tmp85_;
2741- gchar* _tmp86_ = NULL;
2742- gchar* _tmp87_ = NULL;
2743- const gchar* _tmp88_;
2744- const gchar* _tmp89_;
2745- gchar* _tmp90_;
2746- _tmp83_ = file;
2747- _tmp84_ = g_strconcat ("ls -ld ", _tmp83_, NULL);
2748- _tmp85_ = _tmp84_;
2749- g_spawn_command_line_sync (_tmp85_, &_tmp86_, &_tmp87_, NULL, &_inner_error_);
2750+ const gchar* _tmp79_;
2751+ gchar* _tmp80_;
2752+ gchar* _tmp81_;
2753+ gchar* _tmp82_ = NULL;
2754+ gchar* _tmp83_ = NULL;
2755+ const gchar* _tmp84_;
2756+ const gchar* _tmp85_;
2757+ gchar* _tmp86_;
2758+ _tmp79_ = file;
2759+ _tmp80_ = g_strconcat ("ls -ld ", _tmp79_, NULL);
2760+ _tmp81_ = _tmp80_;
2761+ g_spawn_command_line_sync (_tmp81_, &_tmp82_, &_tmp83_, NULL, &_inner_error_);
2762 _g_free0 (output);
2763- output = _tmp86_;
2764+ output = _tmp82_;
2765 _g_free0 (err);
2766- err = _tmp87_;
2767- _g_free0 (_tmp85_);
2768+ err = _tmp83_;
2769+ _g_free0 (_tmp81_);
2770 if (_inner_error_ != NULL) {
2771 if (_inner_error_->domain == G_SPAWN_ERROR) {
2772- goto __catch11_g_spawn_error;
2773+ goto __catch12_g_spawn_error;
2774 }
2775 _g_free0 (err);
2776 _g_free0 (output);
2777@@ -2788,28 +2919,28 @@
2778 g_clear_error (&_inner_error_);
2779 return FALSE;
2780 }
2781- _tmp88_ = output;
2782- _tmp89_ = err;
2783- _tmp90_ = g_strconcat (_tmp88_, _tmp89_, NULL);
2784+ _tmp84_ = output;
2785+ _tmp85_ = err;
2786+ _tmp86_ = g_strconcat (_tmp84_, _tmp85_, NULL);
2787 _g_free0 (permissions);
2788- permissions = _tmp90_;
2789+ permissions = _tmp86_;
2790 }
2791- goto __finally11;
2792- __catch11_g_spawn_error:
2793+ goto __finally12;
2794+ __catch12_g_spawn_error:
2795 {
2796 GError* e = NULL;
2797- FILE* _tmp91_;
2798- GError* _tmp92_;
2799- const gchar* _tmp93_;
2800+ FILE* _tmp87_;
2801+ GError* _tmp88_;
2802+ const gchar* _tmp89_;
2803 e = _inner_error_;
2804 _inner_error_ = NULL;
2805- _tmp91_ = stderr;
2806- _tmp92_ = e;
2807- _tmp93_ = _tmp92_->message;
2808- fprintf (_tmp91_, "Spawning ls: %s\n", _tmp93_);
2809+ _tmp87_ = stderr;
2810+ _tmp88_ = e;
2811+ _tmp89_ = _tmp88_->message;
2812+ fprintf (_tmp87_, "Spawning ls: %s\n", _tmp89_);
2813 _g_error_free0 (e);
2814 }
2815- __finally11:
2816+ __finally12:
2817 if (_inner_error_ != NULL) {
2818 if (_inner_error_->domain == G_REGEX_ERROR) {
2819 g_propagate_error (error, _inner_error_);
2820@@ -2864,60 +2995,60 @@
2821 _g_free0 (output);
2822 _g_free0 (file);
2823 } else {
2824- GRegex* _tmp94_;
2825- const gchar* _tmp95_;
2826- GMatchInfo* _tmp96_ = NULL;
2827- gboolean _tmp97_ = FALSE;
2828- _tmp94_ = r_mail;
2829- _tmp95_ = acts;
2830- _tmp97_ = g_regex_match (_tmp94_, _tmp95_, 0, &_tmp96_);
2831+ GRegex* _tmp90_;
2832+ const gchar* _tmp91_;
2833+ GMatchInfo* _tmp92_ = NULL;
2834+ gboolean _tmp93_ = FALSE;
2835+ _tmp90_ = r_mail;
2836+ _tmp91_ = acts;
2837+ _tmp93_ = g_regex_match (_tmp90_, _tmp91_, 0, &_tmp92_);
2838 _g_match_info_free0 (i_cmd);
2839- i_cmd = _tmp96_;
2840- if (_tmp97_) {
2841- GMatchInfo* _tmp98_;
2842- gint _tmp99_ = 0;
2843- GMatchInfo* _tmp100_;
2844- gchar* _tmp101_ = NULL;
2845+ i_cmd = _tmp92_;
2846+ if (_tmp93_) {
2847+ GMatchInfo* _tmp94_;
2848+ gint _tmp95_ = 0;
2849+ GMatchInfo* _tmp96_;
2850+ gchar* _tmp97_ = NULL;
2851 gchar* file;
2852- gchar* _tmp102_;
2853+ gchar* _tmp98_;
2854 gchar* output;
2855 gchar* err;
2856- _tmp98_ = i_cmd;
2857- g_match_info_fetch_pos (_tmp98_, 0, NULL, &_tmp99_);
2858- from = _tmp99_;
2859- _tmp100_ = i_cmd;
2860- _tmp101_ = g_match_info_fetch (_tmp100_, 1);
2861- file = _tmp101_;
2862- _tmp102_ = g_strdup ("");
2863- output = _tmp102_;
2864+ _tmp94_ = i_cmd;
2865+ g_match_info_fetch_pos (_tmp94_, 0, NULL, &_tmp95_);
2866+ from = _tmp95_;
2867+ _tmp96_ = i_cmd;
2868+ _tmp97_ = g_match_info_fetch (_tmp96_, 1);
2869+ file = _tmp97_;
2870+ _tmp98_ = g_strdup ("");
2871+ output = _tmp98_;
2872 err = NULL;
2873 {
2874- const gchar* _tmp103_;
2875- gchar* _tmp104_;
2876- const gchar* _tmp105_;
2877- gchar* _tmp106_;
2878- gchar* _tmp107_;
2879- gchar* _tmp108_ = NULL;
2880- gchar* _tmp109_ = NULL;
2881- const gchar* _tmp110_;
2882- const gchar* _tmp111_;
2883- gchar* _tmp112_;
2884- _tmp103_ = file;
2885- _tmp104_ = g_strdup (_tmp103_);
2886+ const gchar* _tmp99_;
2887+ gchar* _tmp100_;
2888+ const gchar* _tmp101_;
2889+ gchar* _tmp102_;
2890+ gchar* _tmp103_;
2891+ gchar* _tmp104_ = NULL;
2892+ gchar* _tmp105_ = NULL;
2893+ const gchar* _tmp106_;
2894+ const gchar* _tmp107_;
2895+ gchar* _tmp108_;
2896+ _tmp99_ = file;
2897+ _tmp100_ = g_strdup (_tmp99_);
2898 _g_free0 (mail_name);
2899- mail_name = _tmp104_;
2900- _tmp105_ = file;
2901- _tmp106_ = g_strconcat ("cat ", _tmp105_, NULL);
2902- _tmp107_ = _tmp106_;
2903- g_spawn_command_line_sync (_tmp107_, &_tmp108_, &_tmp109_, NULL, &_inner_error_);
2904+ mail_name = _tmp100_;
2905+ _tmp101_ = file;
2906+ _tmp102_ = g_strconcat ("cat ", _tmp101_, NULL);
2907+ _tmp103_ = _tmp102_;
2908+ g_spawn_command_line_sync (_tmp103_, &_tmp104_, &_tmp105_, NULL, &_inner_error_);
2909 _g_free0 (output);
2910- output = _tmp108_;
2911+ output = _tmp104_;
2912 _g_free0 (err);
2913- err = _tmp109_;
2914- _g_free0 (_tmp107_);
2915+ err = _tmp105_;
2916+ _g_free0 (_tmp103_);
2917 if (_inner_error_ != NULL) {
2918 if (_inner_error_->domain == G_SPAWN_ERROR) {
2919- goto __catch12_g_spawn_error;
2920+ goto __catch13_g_spawn_error;
2921 }
2922 _g_free0 (err);
2923 _g_free0 (output);
2924@@ -2943,28 +3074,28 @@
2925 g_clear_error (&_inner_error_);
2926 return FALSE;
2927 }
2928- _tmp110_ = output;
2929- _tmp111_ = err;
2930- _tmp112_ = g_strconcat (_tmp110_, _tmp111_, NULL);
2931+ _tmp106_ = output;
2932+ _tmp107_ = err;
2933+ _tmp108_ = g_strconcat (_tmp106_, _tmp107_, NULL);
2934 _g_free0 (mail_body);
2935- mail_body = _tmp112_;
2936+ mail_body = _tmp108_;
2937 }
2938- goto __finally12;
2939- __catch12_g_spawn_error:
2940+ goto __finally13;
2941+ __catch13_g_spawn_error:
2942 {
2943 GError* e = NULL;
2944- FILE* _tmp113_;
2945- GError* _tmp114_;
2946- const gchar* _tmp115_;
2947+ FILE* _tmp109_;
2948+ GError* _tmp110_;
2949+ const gchar* _tmp111_;
2950 e = _inner_error_;
2951 _inner_error_ = NULL;
2952- _tmp113_ = stderr;
2953- _tmp114_ = e;
2954- _tmp115_ = _tmp114_->message;
2955- fprintf (_tmp113_, "Spawning ls: %s\n", _tmp115_);
2956+ _tmp109_ = stderr;
2957+ _tmp110_ = e;
2958+ _tmp111_ = _tmp110_->message;
2959+ fprintf (_tmp109_, "Spawning ls: %s\n", _tmp111_);
2960 _g_error_free0 (e);
2961 }
2962- __finally12:
2963+ __finally13:
2964 if (_inner_error_ != NULL) {
2965 if (_inner_error_->domain == G_REGEX_ERROR) {
2966 g_propagate_error (error, _inner_error_);
2967@@ -3019,55 +3150,55 @@
2968 _g_free0 (output);
2969 _g_free0 (file);
2970 } else {
2971- GRegex* _tmp116_;
2972- const gchar* _tmp117_;
2973- GMatchInfo* _tmp118_ = NULL;
2974- gboolean _tmp119_ = FALSE;
2975- _tmp116_ = r_cmd;
2976- _tmp117_ = acts;
2977- _tmp119_ = g_regex_match (_tmp116_, _tmp117_, 0, &_tmp118_);
2978+ GRegex* _tmp112_;
2979+ const gchar* _tmp113_;
2980+ GMatchInfo* _tmp114_ = NULL;
2981+ gboolean _tmp115_ = FALSE;
2982+ _tmp112_ = r_cmd;
2983+ _tmp113_ = acts;
2984+ _tmp115_ = g_regex_match (_tmp112_, _tmp113_, 0, &_tmp114_);
2985 _g_match_info_free0 (i_cmd);
2986- i_cmd = _tmp118_;
2987- if (_tmp119_) {
2988- GMatchInfo* _tmp120_;
2989- gchar* _tmp121_ = NULL;
2990+ i_cmd = _tmp114_;
2991+ if (_tmp115_) {
2992+ GMatchInfo* _tmp116_;
2993+ gchar* _tmp117_ = NULL;
2994 gchar* command;
2995- GMatchInfo* _tmp122_;
2996- gint _tmp123_ = 0;
2997- GeeArrayList* _tmp124_;
2998- GeeArrayList* _tmp125_;
2999- gint _tmp126_;
3000- gint _tmp127_;
3001- const gchar* _tmp128_;
3002- _tmp120_ = i_cmd;
3003- _tmp121_ = g_match_info_fetch (_tmp120_, 1);
3004- command = _tmp121_;
3005- _tmp122_ = i_cmd;
3006- g_match_info_fetch_pos (_tmp122_, 0, NULL, &_tmp123_);
3007- from = _tmp123_;
3008- _tmp124_ = commands;
3009- _tmp125_ = commands;
3010- _tmp126_ = gee_collection_get_size ((GeeCollection*) _tmp125_);
3011- _tmp127_ = _tmp126_;
3012- _tmp128_ = command;
3013- gee_abstract_list_insert ((GeeAbstractList*) _tmp124_, _tmp127_, _tmp128_);
3014+ GMatchInfo* _tmp118_;
3015+ gint _tmp119_ = 0;
3016+ GeeArrayList* _tmp120_;
3017+ GeeArrayList* _tmp121_;
3018+ gint _tmp122_;
3019+ gint _tmp123_;
3020+ const gchar* _tmp124_;
3021+ _tmp116_ = i_cmd;
3022+ _tmp117_ = g_match_info_fetch (_tmp116_, 1);
3023+ command = _tmp117_;
3024+ _tmp118_ = i_cmd;
3025+ g_match_info_fetch_pos (_tmp118_, 0, NULL, &_tmp119_);
3026+ from = _tmp119_;
3027+ _tmp120_ = commands;
3028+ _tmp121_ = commands;
3029+ _tmp122_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp121_);
3030+ _tmp123_ = _tmp122_;
3031+ _tmp124_ = command;
3032+ gee_abstract_list_insert ((GeeAbstractList*) _tmp120_, _tmp123_, _tmp124_);
3033 _g_free0 (command);
3034 } else {
3035- FILE* _tmp129_;
3036- const gchar* _tmp130_;
3037- _tmp129_ = stderr;
3038- _tmp130_ = acts;
3039- fprintf (_tmp129_, "Unrecognized action: %s\n", _tmp130_);
3040+ FILE* _tmp125_;
3041+ const gchar* _tmp126_;
3042+ _tmp125_ = stderr;
3043+ _tmp126_ = acts;
3044+ fprintf (_tmp125_, "Unrecognized action: %s\n", _tmp126_);
3045 _g_match_info_free0 (i_cmd);
3046 break;
3047 }
3048 }
3049 }
3050- _tmp131_ = acts;
3051- _tmp132_ = from;
3052- _tmp133_ = string_substring (_tmp131_, (glong) _tmp132_, (glong) (-1));
3053+ _tmp127_ = acts;
3054+ _tmp128_ = from;
3055+ _tmp129_ = string_substring (_tmp127_, (glong) _tmp128_, (glong) (-1));
3056 _g_free0 (acts);
3057- acts = _tmp133_;
3058+ acts = _tmp129_;
3059 _g_match_info_free0 (i_cmd);
3060 }
3061 }
3062@@ -3076,32 +3207,30 @@
3063 _g_regex_unref0 (r_perm);
3064 _g_free0 (acts);
3065 }
3066- _tmp134_ = self->priv->events_lock;
3067- g_mutex_lock (_tmp134_);
3068- _tmp135_ = self->priv->events;
3069- _tmp136_ = self->priv->events;
3070- _tmp137_ = gee_collection_get_size ((GeeCollection*) _tmp136_);
3071+ g_mutex_lock (&self->priv->events_lock);
3072+ _tmp130_ = self->priv->events;
3073+ _tmp131_ = self->priv->events;
3074+ _tmp132_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp131_);
3075+ _tmp133_ = _tmp132_;
3076+ _tmp134_ = account;
3077+ _tmp135_ = host;
3078+ _tmp136_ = i_ctx;
3079+ _tmp137_ = g_match_info_fetch (_tmp136_, 1);
3080 _tmp138_ = _tmp137_;
3081- _tmp139_ = account;
3082- _tmp140_ = host;
3083- _tmp141_ = i_ctx;
3084- _tmp142_ = g_match_info_fetch (_tmp141_, 1);
3085- _tmp143_ = _tmp142_;
3086- _tmp144_ = i_cause;
3087- _tmp145_ = g_match_info_fetch (_tmp144_, 1);
3088- _tmp146_ = _tmp145_;
3089- _tmp147_ = permissions;
3090- _tmp148_ = mail_name;
3091- _tmp149_ = mail_body;
3092- _tmp150_ = commands;
3093- _tmp151_ = event_error (_tmp139_, _tmp140_, _tmp143_, _tmp146_, _tmp147_, _tmp148_, _tmp149_, _tmp150_);
3094- _tmp152_ = _tmp151_;
3095- gee_abstract_list_insert ((GeeAbstractList*) _tmp135_, _tmp138_, _tmp152_);
3096- _event_unref0 (_tmp152_);
3097- _g_free0 (_tmp146_);
3098- _g_free0 (_tmp143_);
3099- _tmp153_ = self->priv->events_lock;
3100- g_mutex_unlock (_tmp153_);
3101+ _tmp139_ = i_cause;
3102+ _tmp140_ = g_match_info_fetch (_tmp139_, 1);
3103+ _tmp141_ = _tmp140_;
3104+ _tmp142_ = permissions;
3105+ _tmp143_ = mail_name;
3106+ _tmp144_ = mail_body;
3107+ _tmp145_ = commands;
3108+ _tmp146_ = event_error (_tmp134_, _tmp135_, _tmp138_, _tmp141_, _tmp142_, _tmp143_, _tmp144_, _tmp145_);
3109+ _tmp147_ = _tmp146_;
3110+ gee_abstract_list_insert ((GeeAbstractList*) _tmp130_, _tmp133_, _tmp147_);
3111+ _event_unref0 (_tmp147_);
3112+ _g_free0 (_tmp141_);
3113+ _g_free0 (_tmp138_);
3114+ g_mutex_unlock (&self->priv->events_lock);
3115 result = FALSE;
3116 _g_object_unref0 (commands);
3117 _g_free0 (mail_body);
3118@@ -3162,7 +3291,7 @@
3119 if (_inner_error_ != NULL) {
3120 _g_match_info_free0 (info);
3121 if (_inner_error_->domain == G_REGEX_ERROR) {
3122- goto __catch13_g_regex_error;
3123+ goto __catch14_g_regex_error;
3124 }
3125 _g_match_info_free0 (info);
3126 g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3127@@ -3175,7 +3304,7 @@
3128 _g_regex_unref0 (r_tags);
3129 _g_match_info_free0 (info);
3130 if (_inner_error_->domain == G_REGEX_ERROR) {
3131- goto __catch13_g_regex_error;
3132+ goto __catch14_g_regex_error;
3133 }
3134 _g_regex_unref0 (r_tags);
3135 _g_match_info_free0 (info);
3136@@ -3234,7 +3363,7 @@
3137 _g_regex_unref0 (r_tags);
3138 _g_match_info_free0 (info);
3139 if (_inner_error_->domain == G_REGEX_ERROR) {
3140- goto __catch13_g_regex_error;
3141+ goto __catch14_g_regex_error;
3142 }
3143 _g_match_info_free0 (i_args);
3144 _g_free0 (tags);
3145@@ -3259,7 +3388,7 @@
3146 _g_regex_unref0 (r_tags);
3147 _g_match_info_free0 (info);
3148 if (_inner_error_->domain == G_REGEX_ERROR) {
3149- goto __catch13_g_regex_error;
3150+ goto __catch14_g_regex_error;
3151 }
3152 _g_regex_unref0 (r_stats);
3153 _g_match_info_free0 (i_args);
3154@@ -3318,7 +3447,7 @@
3155 _g_regex_unref0 (r_tags);
3156 _g_match_info_free0 (info);
3157 if (_inner_error_->domain == G_REGEX_ERROR) {
3158- goto __catch13_g_regex_error;
3159+ goto __catch14_g_regex_error;
3160 }
3161 _g_regex_unref0 (r_error);
3162 _g_regex_unref0 (r_stats);
3163@@ -3347,7 +3476,7 @@
3164 _g_regex_unref0 (r_tags);
3165 _g_match_info_free0 (info);
3166 if (_inner_error_->domain == G_REGEX_ERROR) {
3167- goto __catch13_g_regex_error;
3168+ goto __catch14_g_regex_error;
3169 }
3170 _g_regex_unref0 (r_neW);
3171 _g_regex_unref0 (r_error);
3172@@ -3428,34 +3557,30 @@
3173 }
3174 _tmp52_ = _tmp46_;
3175 if (_tmp52_) {
3176- GMutex* _tmp53_;
3177+ GeeArrayList* _tmp53_;
3178 GeeArrayList* _tmp54_;
3179- GeeArrayList* _tmp55_;
3180+ gint _tmp55_;
3181 gint _tmp56_;
3182- gint _tmp57_;
3183+ const gchar* _tmp57_;
3184 const gchar* _tmp58_;
3185- const gchar* _tmp59_;
3186+ gint _tmp59_;
3187 gint _tmp60_;
3188- gint _tmp61_;
3189- Event* _tmp62_ = NULL;
3190- Event* _tmp63_;
3191- GMutex* _tmp64_;
3192- _tmp53_ = self->priv->events_lock;
3193- g_mutex_lock (_tmp53_);
3194+ Event* _tmp61_ = NULL;
3195+ Event* _tmp62_;
3196+ g_mutex_lock (&self->priv->events_lock);
3197+ _tmp53_ = self->priv->events;
3198 _tmp54_ = self->priv->events;
3199- _tmp55_ = self->priv->events;
3200- _tmp56_ = gee_collection_get_size ((GeeCollection*) _tmp55_);
3201- _tmp57_ = _tmp56_;
3202- _tmp58_ = account;
3203- _tmp59_ = host;
3204- _tmp60_ = new_mails;
3205- _tmp61_ = del_mails;
3206- _tmp62_ = event_stats (_tmp58_, _tmp59_, _tmp60_, _tmp61_);
3207- _tmp63_ = _tmp62_;
3208- gee_abstract_list_insert ((GeeAbstractList*) _tmp54_, _tmp57_, _tmp63_);
3209- _event_unref0 (_tmp63_);
3210- _tmp64_ = self->priv->events_lock;
3211- g_mutex_unlock (_tmp64_);
3212+ _tmp55_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp54_);
3213+ _tmp56_ = _tmp55_;
3214+ _tmp57_ = account;
3215+ _tmp58_ = host;
3216+ _tmp59_ = new_mails;
3217+ _tmp60_ = del_mails;
3218+ _tmp61_ = event_stats (_tmp57_, _tmp58_, _tmp59_, _tmp60_);
3219+ _tmp62_ = _tmp61_;
3220+ gee_abstract_list_insert ((GeeAbstractList*) _tmp53_, _tmp56_, _tmp62_);
3221+ _event_unref0 (_tmp62_);
3222+ g_mutex_unlock (&self->priv->events_lock);
3223 } else {
3224 }
3225 result = TRUE;
3226@@ -3475,32 +3600,32 @@
3227 _g_match_info_free0 (info);
3228 return result;
3229 } else {
3230- GRegex* _tmp65_;
3231- const gchar* _tmp66_;
3232- GMatchInfo* _tmp67_ = NULL;
3233- gboolean _tmp68_ = FALSE;
3234- _tmp65_ = r_error;
3235- _tmp66_ = tags;
3236- _tmp68_ = g_regex_match (_tmp65_, _tmp66_, 0, &_tmp67_);
3237+ GRegex* _tmp63_;
3238+ const gchar* _tmp64_;
3239+ GMatchInfo* _tmp65_ = NULL;
3240+ gboolean _tmp66_ = FALSE;
3241+ _tmp63_ = r_error;
3242+ _tmp64_ = tags;
3243+ _tmp66_ = g_regex_match (_tmp63_, _tmp64_, 0, &_tmp65_);
3244 _g_match_info_free0 (i_args);
3245- i_args = _tmp67_;
3246- if (_tmp68_) {
3247- GMatchInfo* _tmp69_;
3248- gchar* _tmp70_ = NULL;
3249+ i_args = _tmp65_;
3250+ if (_tmp66_) {
3251+ GMatchInfo* _tmp67_;
3252+ gchar* _tmp68_ = NULL;
3253 gchar* args;
3254+ const gchar* _tmp69_;
3255+ const gchar* _tmp70_;
3256 const gchar* _tmp71_;
3257- const gchar* _tmp72_;
3258- const gchar* _tmp73_;
3259- gboolean _tmp74_ = FALSE;
3260- gboolean _tmp75_;
3261- _tmp69_ = i_args;
3262- _tmp70_ = g_match_info_fetch (_tmp69_, 1);
3263- args = _tmp70_;
3264- _tmp71_ = args;
3265- _tmp72_ = account;
3266- _tmp73_ = host;
3267- _tmp74_ = smd_applet_eval_smd_loop_error_message (self, _tmp71_, _tmp72_, _tmp73_, &_inner_error_);
3268- _tmp75_ = _tmp74_;
3269+ gboolean _tmp72_ = FALSE;
3270+ gboolean _tmp73_;
3271+ _tmp67_ = i_args;
3272+ _tmp68_ = g_match_info_fetch (_tmp67_, 1);
3273+ args = _tmp68_;
3274+ _tmp69_ = args;
3275+ _tmp70_ = account;
3276+ _tmp71_ = host;
3277+ _tmp72_ = smd_applet_eval_smd_loop_error_message (self, _tmp69_, _tmp70_, _tmp71_, &_inner_error_);
3278+ _tmp73_ = _tmp72_;
3279 if (_inner_error_ != NULL) {
3280 _g_free0 (args);
3281 _g_regex_unref0 (r_error);
3282@@ -3513,7 +3638,7 @@
3283 _g_regex_unref0 (r_tags);
3284 _g_match_info_free0 (info);
3285 if (_inner_error_->domain == G_REGEX_ERROR) {
3286- goto __catch13_g_regex_error;
3287+ goto __catch14_g_regex_error;
3288 }
3289 _g_free0 (args);
3290 _g_regex_unref0 (r_error);
3291@@ -3529,7 +3654,7 @@
3292 g_clear_error (&_inner_error_);
3293 return FALSE;
3294 }
3295- result = _tmp75_;
3296+ result = _tmp73_;
3297 _g_free0 (args);
3298 _g_regex_unref0 (r_error);
3299 _g_regex_unref0 (r_stats);
3300@@ -3542,11 +3667,11 @@
3301 _g_match_info_free0 (info);
3302 return result;
3303 } else {
3304- FILE* _tmp76_;
3305- const gchar* _tmp77_;
3306- _tmp76_ = stderr;
3307- _tmp77_ = s;
3308- fprintf (_tmp76_, "unhandled smd-loop message: %s\n", _tmp77_);
3309+ FILE* _tmp74_;
3310+ const gchar* _tmp75_;
3311+ _tmp74_ = stderr;
3312+ _tmp75_ = s;
3313+ fprintf (_tmp74_, "unhandled smd-loop message: %s\n", _tmp75_);
3314 result = TRUE;
3315 _g_regex_unref0 (r_error);
3316 _g_regex_unref0 (r_stats);
3317@@ -3570,22 +3695,22 @@
3318 _g_regex_unref0 (r_tags);
3319 _g_match_info_free0 (info);
3320 }
3321- goto __finally13;
3322- __catch13_g_regex_error:
3323+ goto __finally14;
3324+ __catch14_g_regex_error:
3325 {
3326 GError* e = NULL;
3327- FILE* _tmp78_;
3328- GError* _tmp79_;
3329- const gchar* _tmp80_;
3330+ FILE* _tmp76_;
3331+ GError* _tmp77_;
3332+ const gchar* _tmp78_;
3333 e = _inner_error_;
3334 _inner_error_ = NULL;
3335- _tmp78_ = stderr;
3336- _tmp79_ = e;
3337- _tmp80_ = _tmp79_->message;
3338- fprintf (_tmp78_, "%s\n", _tmp80_);
3339+ _tmp76_ = stderr;
3340+ _tmp77_ = e;
3341+ _tmp78_ = _tmp77_->message;
3342+ fprintf (_tmp76_, "%s\n", _tmp78_);
3343 _g_error_free0 (e);
3344 }
3345- __finally13:
3346+ __finally14:
3347 if (_inner_error_ != NULL) {
3348 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3349 g_clear_error (&_inner_error_);
3350@@ -3596,13 +3721,13 @@
3351 }
3352
3353
3354-static void ___lambda2_ (smdApplet* self) {
3355+static void ___lambda4_ (smdApplet* self) {
3356 setpgid ((pid_t) 0, (pid_t) 0);
3357 }
3358
3359
3360-static void ____lambda2__gspawn_child_setup_func (gpointer self) {
3361- ___lambda2_ (self);
3362+static void ____lambda4__gspawn_child_setup_func (gpointer self) {
3363+ ___lambda4_ (self);
3364 }
3365
3366
3367@@ -3661,19 +3786,19 @@
3368 _tmp8_ = cmd;
3369 _tmp8__length1 = cmd_length1;
3370 _tmp9_ = flags;
3371- _tmp14_ = g_spawn_async_with_pipes (NULL, _tmp8_, NULL, _tmp9_, ____lambda2__gspawn_child_setup_func, self, &_tmp10_, &_tmp11_, &_tmp12_, &_tmp13_, &_inner_error_);
3372+ _tmp14_ = g_spawn_async_with_pipes (NULL, _tmp8_, NULL, _tmp9_, ____lambda4__gspawn_child_setup_func, self, &_tmp10_, &_tmp11_, &_tmp12_, &_tmp13_, &_inner_error_);
3373 self->priv->pid = _tmp10_;
3374 child_in = _tmp11_;
3375 child_out = _tmp12_;
3376 child_err = _tmp13_;
3377 _tmp15_ = _tmp14_;
3378 if (_inner_error_ != NULL) {
3379- goto __catch14_g_error;
3380+ goto __catch15_g_error;
3381 }
3382 rc = _tmp15_;
3383 }
3384- goto __finally14;
3385- __catch14_g_error:
3386+ goto __finally15;
3387+ __catch15_g_error:
3388 {
3389 GError* e = NULL;
3390 FILE* _tmp16_;
3391@@ -3711,9 +3836,9 @@
3392 _tmp28_ = g_error_new_literal (EXIT, EXIT_ABORT, "Unable to run smd-loop");
3393 _inner_error_ = _tmp28_;
3394 _g_error_free0 (e);
3395- goto __finally14;
3396+ goto __finally15;
3397 }
3398- __finally14:
3399+ __finally15:
3400 if (_inner_error_ != NULL) {
3401 if (_inner_error_->domain == EXIT) {
3402 g_propagate_error (error, _inner_error_);
3403@@ -3878,7 +4003,7 @@
3404 }
3405
3406
3407-static void ______lambda15_ (smdApplet* self, NotifyNotification* not, const gchar* action) {
3408+static void ______lambda18_ (smdApplet* self, NotifyNotification* not, const gchar* action) {
3409 GtkWindow* _tmp0_;
3410 g_return_if_fail (not != NULL);
3411 g_return_if_fail (action != NULL);
3412@@ -3887,12 +4012,12 @@
3413 }
3414
3415
3416-static void _______lambda15__notify_action_callback (NotifyNotification* notification, const gchar* action, gpointer self) {
3417- ______lambda15_ (self, notification, action);
3418+static void _______lambda18__notify_action_callback (NotifyNotification* notification, const gchar* action, gpointer self) {
3419+ ______lambda18_ (self, notification, action);
3420 }
3421
3422
3423-static void ______lambda16_ (smdApplet* self, GtkButton* b) {
3424+static void ______lambda19_ (smdApplet* self, GtkButton* b) {
3425 gint cmd_status = 0;
3426 gchar* output = NULL;
3427 gchar* _error_ = NULL;
3428@@ -3931,7 +4056,7 @@
3429 cmd_status = _tmp10_;
3430 if (_inner_error_ != NULL) {
3431 if (_inner_error_->domain == G_SPAWN_ERROR) {
3432- goto __catch19_g_spawn_error;
3433+ goto __catch20_g_spawn_error;
3434 }
3435 _g_free0 (_error_);
3436 _g_free0 (output);
3437@@ -3970,8 +4095,8 @@
3438 _g_object_unref0 (w);
3439 }
3440 }
3441- goto __finally19;
3442- __catch19_g_spawn_error:
3443+ goto __finally20;
3444+ __catch20_g_spawn_error:
3445 {
3446 GError* e = NULL;
3447 FILE* _tmp21_;
3448@@ -3985,7 +4110,7 @@
3449 fprintf (_tmp21_, "Spawning: %s\n", _tmp23_);
3450 _g_error_free0 (e);
3451 }
3452- __finally19:
3453+ __finally20:
3454 if (_inner_error_ != NULL) {
3455 _g_free0 (_error_);
3456 _g_free0 (output);
3457@@ -3998,8 +4123,8 @@
3458 }
3459
3460
3461-static void _______lambda16__gtk_button_clicked (GtkButton* _sender, gpointer self) {
3462- ______lambda16_ (self, _sender);
3463+static void _______lambda19__gtk_button_clicked (GtkButton* _sender, gpointer self) {
3464+ ______lambda19_ (self, _sender);
3465 }
3466
3467
3468@@ -4007,17 +4132,15 @@
3469 gboolean result = FALSE;
3470 Event* e;
3471 gboolean _tmp0_;
3472- GMutex* _tmp1_;
3473- GeeArrayList* _tmp2_;
3474+ GeeArrayList* _tmp1_;
3475+ gint _tmp2_;
3476 gint _tmp3_;
3477- gint _tmp4_;
3478- GMutex* _tmp10_;
3479- gboolean _tmp11_ = FALSE;
3480- Event* _tmp12_;
3481- gboolean _tmp15_;
3482- gboolean _tmp65_ = FALSE;
3483- Event* _tmp66_;
3484- gboolean _tmp69_;
3485+ gboolean _tmp9_ = FALSE;
3486+ Event* _tmp10_;
3487+ gboolean _tmp13_;
3488+ gboolean _tmp63_ = FALSE;
3489+ Event* _tmp64_;
3490+ gboolean _tmp67_;
3491 GError * _inner_error_ = NULL;
3492 g_return_val_if_fail (self != NULL, FALSE);
3493 e = NULL;
3494@@ -4027,175 +4150,173 @@
3495 _event_unref0 (e);
3496 return result;
3497 }
3498- _tmp1_ = self->priv->events_lock;
3499- g_mutex_lock (_tmp1_);
3500- _tmp2_ = self->priv->events;
3501- _tmp3_ = gee_collection_get_size ((GeeCollection*) _tmp2_);
3502- _tmp4_ = _tmp3_;
3503- if (_tmp4_ > 0) {
3504- GeeArrayList* _tmp5_;
3505- gpointer _tmp6_ = NULL;
3506- GeeArrayList* _tmp7_;
3507- gpointer _tmp8_ = NULL;
3508- Event* _tmp9_;
3509- _tmp5_ = self->priv->events;
3510- _tmp6_ = gee_abstract_list_first ((GeeAbstractList*) _tmp5_);
3511+ g_mutex_lock (&self->priv->events_lock);
3512+ _tmp1_ = self->priv->events;
3513+ _tmp2_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp1_);
3514+ _tmp3_ = _tmp2_;
3515+ if (_tmp3_ > 0) {
3516+ GeeArrayList* _tmp4_;
3517+ gpointer _tmp5_ = NULL;
3518+ GeeArrayList* _tmp6_;
3519+ gpointer _tmp7_ = NULL;
3520+ Event* _tmp8_;
3521+ _tmp4_ = self->priv->events;
3522+ _tmp5_ = gee_abstract_list_first ((GeeAbstractList*) _tmp4_);
3523 _event_unref0 (e);
3524- e = (Event*) _tmp6_;
3525- _tmp7_ = self->priv->events;
3526- _tmp8_ = gee_abstract_list_remove_at ((GeeAbstractList*) _tmp7_, 0);
3527- _tmp9_ = (Event*) _tmp8_;
3528- _event_unref0 (_tmp9_);
3529+ e = (Event*) _tmp5_;
3530+ _tmp6_ = self->priv->events;
3531+ _tmp7_ = gee_abstract_list_remove_at ((GeeAbstractList*) _tmp6_, 0);
3532+ _tmp8_ = (Event*) _tmp7_;
3533+ _event_unref0 (_tmp8_);
3534 }
3535- _tmp10_ = self->priv->events_lock;
3536- g_mutex_unlock (_tmp10_);
3537- _tmp12_ = e;
3538- if (_tmp12_ != NULL) {
3539- Event* _tmp13_;
3540- const gchar* _tmp14_;
3541- _tmp13_ = e;
3542- _tmp14_ = _tmp13_->message;
3543- _tmp11_ = _tmp14_ != NULL;
3544+ g_mutex_unlock (&self->priv->events_lock);
3545+ _tmp10_ = e;
3546+ if (_tmp10_ != NULL) {
3547+ Event* _tmp11_;
3548+ const gchar* _tmp12_;
3549+ _tmp11_ = e;
3550+ _tmp12_ = _tmp11_->message;
3551+ _tmp9_ = _tmp12_ != NULL;
3552 } else {
3553- _tmp11_ = FALSE;
3554+ _tmp9_ = FALSE;
3555 }
3556- _tmp15_ = _tmp11_;
3557- if (_tmp15_) {
3558+ _tmp13_ = _tmp9_;
3559+ if (_tmp13_) {
3560 gboolean notify_on_newail;
3561- gboolean _tmp22_ = FALSE;
3562- Event* _tmp23_;
3563+ gboolean _tmp20_ = FALSE;
3564+ Event* _tmp21_;
3565+ gboolean _tmp22_;
3566 gboolean _tmp24_;
3567- gboolean _tmp26_;
3568 notify_on_newail = FALSE;
3569 {
3570- GConfClient* _tmp16_;
3571- gboolean _tmp17_ = FALSE;
3572- gboolean _tmp18_;
3573- _tmp16_ = self->priv->gconf;
3574- _tmp17_ = gconf_client_get_bool (_tmp16_, SMD_APPLET_key_newmail, &_inner_error_);
3575- _tmp18_ = _tmp17_;
3576+ GConfClient* _tmp14_;
3577+ gboolean _tmp15_ = FALSE;
3578+ gboolean _tmp16_;
3579+ _tmp14_ = self->priv->gconf;
3580+ _tmp15_ = gconf_client_get_bool (_tmp14_, SMD_APPLET_key_newmail, &_inner_error_);
3581+ _tmp16_ = _tmp15_;
3582 if (_inner_error_ != NULL) {
3583- goto __catch15_g_error;
3584+ goto __catch16_g_error;
3585 }
3586- notify_on_newail = _tmp18_;
3587+ notify_on_newail = _tmp16_;
3588 }
3589- goto __finally15;
3590- __catch15_g_error:
3591+ goto __finally16;
3592+ __catch16_g_error:
3593 {
3594 GError* e = NULL;
3595- FILE* _tmp19_;
3596- GError* _tmp20_;
3597- const gchar* _tmp21_;
3598+ FILE* _tmp17_;
3599+ GError* _tmp18_;
3600+ const gchar* _tmp19_;
3601 e = _inner_error_;
3602 _inner_error_ = NULL;
3603- _tmp19_ = stderr;
3604- _tmp20_ = e;
3605- _tmp21_ = _tmp20_->message;
3606- fprintf (_tmp19_, "%s\n", _tmp21_);
3607+ _tmp17_ = stderr;
3608+ _tmp18_ = e;
3609+ _tmp19_ = _tmp18_->message;
3610+ fprintf (_tmp17_, "%s\n", _tmp19_);
3611 _g_error_free0 (e);
3612 }
3613- __finally15:
3614+ __finally16:
3615 if (_inner_error_ != NULL) {
3616 _event_unref0 (e);
3617 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3618 g_clear_error (&_inner_error_);
3619 return FALSE;
3620 }
3621- _tmp23_ = e;
3622- _tmp24_ = _tmp23_->enter_network_error_mode;
3623+ _tmp21_ = e;
3624+ _tmp22_ = _tmp21_->enter_network_error_mode;
3625+ if (_tmp22_) {
3626+ gboolean _tmp23_;
3627+ _tmp23_ = self->priv->network_error_mode;
3628+ _tmp20_ = _tmp23_;
3629+ } else {
3630+ _tmp20_ = FALSE;
3631+ }
3632+ _tmp24_ = _tmp20_;
3633 if (_tmp24_) {
3634- gboolean _tmp25_;
3635- _tmp25_ = self->priv->network_error_mode;
3636- _tmp22_ = _tmp25_;
3637- } else {
3638- _tmp22_ = FALSE;
3639- }
3640- _tmp26_ = _tmp22_;
3641- if (_tmp26_) {
3642- } else {
3643- gboolean _tmp27_ = FALSE;
3644+ } else {
3645+ gboolean _tmp25_ = FALSE;
3646+ gboolean _tmp26_ = FALSE;
3647+ Event* _tmp27_;
3648 gboolean _tmp28_ = FALSE;
3649- Event* _tmp29_;
3650- gboolean _tmp30_ = FALSE;
3651- gboolean _tmp32_;
3652- gboolean _tmp39_;
3653- _tmp29_ = e;
3654- _tmp30_ = event_is_error_event (_tmp29_);
3655- if (!_tmp30_) {
3656- gboolean _tmp31_;
3657- _tmp31_ = notify_on_newail;
3658- _tmp28_ = _tmp31_;
3659+ gboolean _tmp30_;
3660+ gboolean _tmp37_;
3661+ _tmp27_ = e;
3662+ _tmp28_ = event_is_error_event (_tmp27_);
3663+ if (!_tmp28_) {
3664+ gboolean _tmp29_;
3665+ _tmp29_ = notify_on_newail;
3666+ _tmp26_ = _tmp29_;
3667 } else {
3668- _tmp28_ = FALSE;
3669+ _tmp26_ = FALSE;
3670 }
3671- _tmp32_ = _tmp28_;
3672- if (_tmp32_) {
3673- _tmp27_ = TRUE;
3674+ _tmp30_ = _tmp26_;
3675+ if (_tmp30_) {
3676+ _tmp25_ = TRUE;
3677 } else {
3678+ gboolean _tmp31_ = FALSE;
3679+ Event* _tmp32_;
3680 gboolean _tmp33_ = FALSE;
3681- Event* _tmp34_;
3682- gboolean _tmp35_ = FALSE;
3683- gboolean _tmp38_;
3684- _tmp34_ = e;
3685- _tmp35_ = event_is_error_event (_tmp34_);
3686- if (_tmp35_) {
3687- Event* _tmp36_;
3688- gboolean _tmp37_;
3689- _tmp36_ = e;
3690- _tmp37_ = _tmp36_->enter_network_error_mode;
3691- _tmp33_ = _tmp37_;
3692+ gboolean _tmp36_;
3693+ _tmp32_ = e;
3694+ _tmp33_ = event_is_error_event (_tmp32_);
3695+ if (_tmp33_) {
3696+ Event* _tmp34_;
3697+ gboolean _tmp35_;
3698+ _tmp34_ = e;
3699+ _tmp35_ = _tmp34_->enter_network_error_mode;
3700+ _tmp31_ = _tmp35_;
3701 } else {
3702- _tmp33_ = FALSE;
3703+ _tmp31_ = FALSE;
3704 }
3705- _tmp38_ = _tmp33_;
3706- _tmp27_ = _tmp38_;
3707+ _tmp36_ = _tmp31_;
3708+ _tmp25_ = _tmp36_;
3709 }
3710- _tmp39_ = _tmp27_;
3711- if (_tmp39_) {
3712+ _tmp37_ = _tmp25_;
3713+ if (_tmp37_) {
3714+ Event* _tmp38_;
3715+ const gchar* _tmp39_;
3716 Event* _tmp40_;
3717 const gchar* _tmp41_;
3718- Event* _tmp42_;
3719- const gchar* _tmp43_;
3720- NotifyNotification* _tmp44_;
3721- NotifyNotification* _tmp45_;
3722- GVariant* _tmp46_;
3723- GVariant* _tmp47_;
3724+ NotifyNotification* _tmp42_;
3725+ NotifyNotification* _tmp43_;
3726+ GVariant* _tmp44_;
3727+ GVariant* _tmp45_;
3728+ _tmp38_ = e;
3729+ _tmp39_ = _tmp38_->message;
3730 _tmp40_ = e;
3731- _tmp41_ = _tmp40_->message;
3732- _tmp42_ = e;
3733- _tmp43_ = _tmp42_->message_icon;
3734- _tmp44_ = notify_notification_new ("Syncmaildir", _tmp41_, _tmp43_);
3735+ _tmp41_ = _tmp40_->message_icon;
3736+ _tmp42_ = notify_notification_new ("Syncmaildir", _tmp39_, _tmp41_);
3737 _g_object_unref0 (self->priv->notification);
3738- self->priv->notification = _tmp44_;
3739- _tmp45_ = self->priv->notification;
3740- _tmp46_ = g_variant_new_boolean (TRUE);
3741- _tmp47_ = g_variant_ref_sink (_tmp46_);
3742- notify_notification_set_hint (_tmp45_, "transient", _tmp47_);
3743- _g_variant_unref0 (_tmp47_);
3744+ self->priv->notification = _tmp42_;
3745+ _tmp43_ = self->priv->notification;
3746+ _tmp44_ = g_variant_new_boolean (TRUE);
3747+ _tmp45_ = g_variant_ref_sink (_tmp44_);
3748+ notify_notification_set_hint (_tmp43_, "transient", _tmp45_);
3749+ _g_variant_unref0 (_tmp45_);
3750 {
3751- NotifyNotification* _tmp48_;
3752- _tmp48_ = self->priv->notification;
3753- notify_notification_show (_tmp48_, &_inner_error_);
3754+ NotifyNotification* _tmp46_;
3755+ _tmp46_ = self->priv->notification;
3756+ notify_notification_show (_tmp46_, &_inner_error_);
3757 if (_inner_error_ != NULL) {
3758- goto __catch16_g_error;
3759+ goto __catch17_g_error;
3760 }
3761 }
3762- goto __finally16;
3763- __catch16_g_error:
3764+ goto __finally17;
3765+ __catch17_g_error:
3766 {
3767 GError* e = NULL;
3768- FILE* _tmp49_;
3769- GError* _tmp50_;
3770- const gchar* _tmp51_;
3771+ FILE* _tmp47_;
3772+ GError* _tmp48_;
3773+ const gchar* _tmp49_;
3774 e = _inner_error_;
3775 _inner_error_ = NULL;
3776- _tmp49_ = stderr;
3777- _tmp50_ = e;
3778- _tmp51_ = _tmp50_->message;
3779- fprintf (_tmp49_, "%s\n", _tmp51_);
3780+ _tmp47_ = stderr;
3781+ _tmp48_ = e;
3782+ _tmp49_ = _tmp48_->message;
3783+ fprintf (_tmp47_, "%s\n", _tmp49_);
3784 _g_error_free0 (e);
3785 }
3786- __finally16:
3787+ __finally17:
3788 if (_inner_error_ != NULL) {
3789 _event_unref0 (e);
3790 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3791@@ -4203,53 +4324,53 @@
3792 return FALSE;
3793 }
3794 } else {
3795- Event* _tmp52_;
3796- gboolean _tmp53_ = FALSE;
3797- _tmp52_ = e;
3798- _tmp53_ = event_is_error_event (_tmp52_);
3799- if (_tmp53_) {
3800+ Event* _tmp50_;
3801+ gboolean _tmp51_ = FALSE;
3802+ _tmp50_ = e;
3803+ _tmp51_ = event_is_error_event (_tmp50_);
3804+ if (_tmp51_) {
3805+ Event* _tmp52_;
3806+ const gchar* _tmp53_;
3807 Event* _tmp54_;
3808 const gchar* _tmp55_;
3809- Event* _tmp56_;
3810- const gchar* _tmp57_;
3811+ NotifyNotification* _tmp56_;
3812+ NotifyNotification* _tmp57_;
3813 NotifyNotification* _tmp58_;
3814- NotifyNotification* _tmp59_;
3815- NotifyNotification* _tmp60_;
3816+ _tmp52_ = e;
3817+ _tmp53_ = _tmp52_->message;
3818 _tmp54_ = e;
3819- _tmp55_ = _tmp54_->message;
3820- _tmp56_ = e;
3821- _tmp57_ = _tmp56_->message_icon;
3822- _tmp58_ = notify_notification_new ("Syncmaildir", _tmp55_, _tmp57_);
3823+ _tmp55_ = _tmp54_->message_icon;
3824+ _tmp56_ = notify_notification_new ("Syncmaildir", _tmp53_, _tmp55_);
3825 _g_object_unref0 (self->priv->notification);
3826- self->priv->notification = _tmp58_;
3827- _tmp59_ = self->priv->notification;
3828- notify_notification_set_timeout (_tmp59_, 0);
3829- _tmp60_ = self->priv->notification;
3830- notify_notification_add_action (_tmp60_, "clicked", "Handle error", _______lambda15__notify_action_callback, smd_applet_ref (self), smd_applet_unref);
3831+ self->priv->notification = _tmp56_;
3832+ _tmp57_ = self->priv->notification;
3833+ notify_notification_set_timeout (_tmp57_, 0);
3834+ _tmp58_ = self->priv->notification;
3835+ notify_notification_add_action (_tmp58_, "clicked", "Handle error", _______lambda18__notify_action_callback, smd_applet_ref (self), smd_applet_unref);
3836 {
3837- NotifyNotification* _tmp61_;
3838- _tmp61_ = self->priv->notification;
3839- notify_notification_show (_tmp61_, &_inner_error_);
3840+ NotifyNotification* _tmp59_;
3841+ _tmp59_ = self->priv->notification;
3842+ notify_notification_show (_tmp59_, &_inner_error_);
3843 if (_inner_error_ != NULL) {
3844- goto __catch17_g_error;
3845+ goto __catch18_g_error;
3846 }
3847 }
3848- goto __finally17;
3849- __catch17_g_error:
3850+ goto __finally18;
3851+ __catch18_g_error:
3852 {
3853 GError* e = NULL;
3854- FILE* _tmp62_;
3855- GError* _tmp63_;
3856- const gchar* _tmp64_;
3857+ FILE* _tmp60_;
3858+ GError* _tmp61_;
3859+ const gchar* _tmp62_;
3860 e = _inner_error_;
3861 _inner_error_ = NULL;
3862- _tmp62_ = stderr;
3863- _tmp63_ = e;
3864- _tmp64_ = _tmp63_->message;
3865- fprintf (_tmp62_, "%s\n", _tmp64_);
3866+ _tmp60_ = stderr;
3867+ _tmp61_ = e;
3868+ _tmp62_ = _tmp61_->message;
3869+ fprintf (_tmp60_, "%s\n", _tmp62_);
3870 _g_error_free0 (e);
3871 }
3872- __finally17:
3873+ __finally18:
3874 if (_inner_error_ != NULL) {
3875 _event_unref0 (e);
3876 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3877@@ -4260,306 +4381,306 @@
3878 }
3879 }
3880 }
3881- _tmp66_ = e;
3882- if (_tmp66_ != NULL) {
3883- Event* _tmp67_;
3884- gboolean _tmp68_;
3885- _tmp67_ = e;
3886- _tmp68_ = _tmp67_->enter_error_mode;
3887- _tmp65_ = _tmp68_;
3888+ _tmp64_ = e;
3889+ if (_tmp64_ != NULL) {
3890+ Event* _tmp65_;
3891+ gboolean _tmp66_;
3892+ _tmp65_ = e;
3893+ _tmp66_ = _tmp65_->enter_error_mode;
3894+ _tmp63_ = _tmp66_;
3895 } else {
3896- _tmp65_ = FALSE;
3897+ _tmp63_ = FALSE;
3898 }
3899- _tmp69_ = _tmp65_;
3900- if (_tmp69_) {
3901- GtkStatusIcon* _tmp70_;
3902- GtkStatusIcon* _tmp71_;
3903- gboolean _tmp72_;
3904- GtkBuilder* _tmp74_;
3905- GObject* _tmp75_ = NULL;
3906- GtkLabel* _tmp76_;
3907+ _tmp67_ = _tmp63_;
3908+ if (_tmp67_) {
3909+ GtkStatusIcon* _tmp68_;
3910+ GtkStatusIcon* _tmp69_;
3911+ gboolean _tmp70_;
3912+ GtkBuilder* _tmp72_;
3913+ GObject* _tmp73_ = NULL;
3914+ GtkLabel* _tmp74_;
3915 GtkLabel* l_ctx;
3916- GtkBuilder* _tmp77_;
3917- GObject* _tmp78_ = NULL;
3918- GtkLabel* _tmp79_;
3919+ GtkBuilder* _tmp75_;
3920+ GObject* _tmp76_ = NULL;
3921+ GtkLabel* _tmp77_;
3922 GtkLabel* l_cause;
3923- GtkLabel* _tmp80_;
3924- Event* _tmp81_;
3925- const gchar* _tmp82_;
3926- GtkLabel* _tmp83_;
3927- Event* _tmp84_;
3928- const gchar* _tmp85_;
3929- GHashTable* _tmp86_;
3930- GtkBuilder* _tmp87_;
3931- GObject* _tmp88_ = NULL;
3932- GtkVBox* _tmp89_;
3933+ GtkLabel* _tmp78_;
3934+ Event* _tmp79_;
3935+ const gchar* _tmp80_;
3936+ GtkLabel* _tmp81_;
3937+ Event* _tmp82_;
3938+ const gchar* _tmp83_;
3939+ GHashTable* _tmp84_;
3940+ GtkBuilder* _tmp85_;
3941+ GObject* _tmp86_ = NULL;
3942+ GtkVBox* _tmp87_;
3943 GtkVBox* vb;
3944- GtkVBox* _tmp90_;
3945- GList* _tmp91_ = NULL;
3946- Event* _tmp95_;
3947- const gchar* _tmp96_;
3948- Event* _tmp103_;
3949- const gchar* _tmp104_;
3950- Event* _tmp132_;
3951- GeeArrayList* _tmp133_;
3952- GtkBuilder* _tmp182_;
3953- GObject* _tmp183_ = NULL;
3954- GtkWidget* _tmp184_;
3955+ GtkVBox* _tmp88_;
3956+ GList* _tmp89_ = NULL;
3957+ Event* _tmp93_;
3958+ const gchar* _tmp94_;
3959+ Event* _tmp101_;
3960+ const gchar* _tmp102_;
3961+ Event* _tmp130_;
3962+ GeeArrayList* _tmp131_;
3963+ GtkBuilder* _tmp180_;
3964+ GObject* _tmp181_ = NULL;
3965+ GtkWidget* _tmp182_;
3966 GtkWidget* x;
3967- GtkWidget* _tmp185_;
3968- Event* _tmp186_;
3969- const gchar* _tmp187_;
3970- GtkBuilder* _tmp188_;
3971- GObject* _tmp189_ = NULL;
3972- GtkWidget* _tmp190_;
3973- GtkWidget* _tmp191_;
3974- Event* _tmp192_;
3975- const gchar* _tmp193_;
3976- GtkBuilder* _tmp194_;
3977- GObject* _tmp195_ = NULL;
3978- GtkWidget* _tmp196_;
3979- GtkWidget* _tmp197_;
3980- Event* _tmp198_;
3981- GeeArrayList* _tmp199_;
3982- gint _tmp200_;
3983- gint _tmp201_;
3984- _tmp70_ = self->priv->si;
3985- gtk_status_icon_set_from_icon_name (_tmp70_, "error");
3986- _tmp71_ = self->priv->si;
3987- gtk_status_icon_set_tooltip_text (_tmp71_, "smd-applet encountered an error");
3988+ GtkWidget* _tmp183_;
3989+ Event* _tmp184_;
3990+ const gchar* _tmp185_;
3991+ GtkBuilder* _tmp186_;
3992+ GObject* _tmp187_ = NULL;
3993+ GtkWidget* _tmp188_;
3994+ GtkWidget* _tmp189_;
3995+ Event* _tmp190_;
3996+ const gchar* _tmp191_;
3997+ GtkBuilder* _tmp192_;
3998+ GObject* _tmp193_ = NULL;
3999+ GtkWidget* _tmp194_;
4000+ GtkWidget* _tmp195_;
4001+ Event* _tmp196_;
4002+ GeeArrayList* _tmp197_;
4003+ gint _tmp198_;
4004+ gint _tmp199_;
4005+ _tmp68_ = self->priv->si;
4006+ gtk_status_icon_set_from_icon_name (_tmp68_, "error");
4007+ _tmp69_ = self->priv->si;
4008+ gtk_status_icon_set_tooltip_text (_tmp69_, "smd-applet encountered an error");
4009 self->priv->error_mode = TRUE;
4010- _tmp72_ = self->priv->notification_server_has_persistence;
4011- if (!_tmp72_) {
4012- GtkStatusIcon* _tmp73_;
4013- _tmp73_ = self->priv->si;
4014- gtk_status_icon_set_visible (_tmp73_, TRUE);
4015+ _tmp70_ = self->priv->notification_server_has_persistence;
4016+ if (!_tmp70_) {
4017+ GtkStatusIcon* _tmp71_;
4018+ _tmp71_ = self->priv->si;
4019+ gtk_status_icon_set_visible (_tmp71_, TRUE);
4020 }
4021- _tmp74_ = self->priv->builder;
4022- _tmp75_ = gtk_builder_get_object (_tmp74_, "lContext");
4023- _tmp76_ = _g_object_ref0 (GTK_IS_LABEL (_tmp75_) ? ((GtkLabel*) _tmp75_) : NULL);
4024- l_ctx = _tmp76_;
4025- _tmp77_ = self->priv->builder;
4026- _tmp78_ = gtk_builder_get_object (_tmp77_, "lCause");
4027- _tmp79_ = _g_object_ref0 (GTK_IS_LABEL (_tmp78_) ? ((GtkLabel*) _tmp78_) : NULL);
4028- l_cause = _tmp79_;
4029- _tmp80_ = l_ctx;
4030- _tmp81_ = e;
4031- _tmp82_ = _tmp81_->context;
4032- gtk_label_set_text (_tmp80_, _tmp82_);
4033- _tmp83_ = l_cause;
4034- _tmp84_ = e;
4035- _tmp85_ = _tmp84_->cause;
4036- gtk_label_set_text (_tmp83_, _tmp85_);
4037- _tmp86_ = self->priv->command_hash;
4038- g_hash_table_remove_all (_tmp86_);
4039- _tmp87_ = self->priv->builder;
4040- _tmp88_ = gtk_builder_get_object (_tmp87_, "vbRun");
4041- _tmp89_ = _g_object_ref0 (GTK_IS_VBOX (_tmp88_) ? ((GtkVBox*) _tmp88_) : NULL);
4042- vb = _tmp89_;
4043- _tmp90_ = vb;
4044- _tmp91_ = gtk_container_get_children ((GtkContainer*) _tmp90_);
4045+ _tmp72_ = self->priv->builder;
4046+ _tmp73_ = gtk_builder_get_object (_tmp72_, "lContext");
4047+ _tmp74_ = _g_object_ref0 (GTK_IS_LABEL (_tmp73_) ? ((GtkLabel*) _tmp73_) : NULL);
4048+ l_ctx = _tmp74_;
4049+ _tmp75_ = self->priv->builder;
4050+ _tmp76_ = gtk_builder_get_object (_tmp75_, "lCause");
4051+ _tmp77_ = _g_object_ref0 (GTK_IS_LABEL (_tmp76_) ? ((GtkLabel*) _tmp76_) : NULL);
4052+ l_cause = _tmp77_;
4053+ _tmp78_ = l_ctx;
4054+ _tmp79_ = e;
4055+ _tmp80_ = _tmp79_->context;
4056+ gtk_label_set_text (_tmp78_, _tmp80_);
4057+ _tmp81_ = l_cause;
4058+ _tmp82_ = e;
4059+ _tmp83_ = _tmp82_->cause;
4060+ gtk_label_set_text (_tmp81_, _tmp83_);
4061+ _tmp84_ = self->priv->command_hash;
4062+ g_hash_table_remove_all (_tmp84_);
4063+ _tmp85_ = self->priv->builder;
4064+ _tmp86_ = gtk_builder_get_object (_tmp85_, "vbRun");
4065+ _tmp87_ = _g_object_ref0 (GTK_IS_VBOX (_tmp86_) ? ((GtkVBox*) _tmp86_) : NULL);
4066+ vb = _tmp87_;
4067+ _tmp88_ = vb;
4068+ _tmp89_ = gtk_container_get_children ((GtkContainer*) _tmp88_);
4069 {
4070 GList* w_collection = NULL;
4071 GList* w_it = NULL;
4072- w_collection = _tmp91_;
4073+ w_collection = _tmp89_;
4074 for (w_it = w_collection; w_it != NULL; w_it = w_it->next) {
4075- GtkWidget* _tmp92_;
4076+ GtkWidget* _tmp90_;
4077 GtkWidget* w = NULL;
4078- _tmp92_ = _g_object_ref0 ((GtkWidget*) w_it->data);
4079- w = _tmp92_;
4080+ _tmp90_ = _g_object_ref0 ((GtkWidget*) w_it->data);
4081+ w = _tmp90_;
4082 {
4083- GtkVBox* _tmp93_;
4084- GtkWidget* _tmp94_;
4085- _tmp93_ = vb;
4086- _tmp94_ = w;
4087- gtk_container_remove ((GtkContainer*) _tmp93_, _tmp94_);
4088+ GtkVBox* _tmp91_;
4089+ GtkWidget* _tmp92_;
4090+ _tmp91_ = vb;
4091+ _tmp92_ = w;
4092+ gtk_container_remove ((GtkContainer*) _tmp91_, _tmp92_);
4093 _g_object_unref0 (w);
4094 }
4095 }
4096 _g_list_free0 (w_collection);
4097 }
4098- _tmp95_ = e;
4099- _tmp96_ = _tmp95_->permissions;
4100- if (_tmp96_ != NULL) {
4101- GtkBuilder* _tmp97_;
4102- GObject* _tmp98_ = NULL;
4103- GtkLabel* _tmp99_;
4104+ _tmp93_ = e;
4105+ _tmp94_ = _tmp93_->permissions;
4106+ if (_tmp94_ != NULL) {
4107+ GtkBuilder* _tmp95_;
4108+ GObject* _tmp96_ = NULL;
4109+ GtkLabel* _tmp97_;
4110 GtkLabel* l;
4111- GtkLabel* _tmp100_;
4112- Event* _tmp101_;
4113- const gchar* _tmp102_;
4114- _tmp97_ = self->priv->builder;
4115- _tmp98_ = gtk_builder_get_object (_tmp97_, "lPermissions");
4116- _tmp99_ = _g_object_ref0 (GTK_IS_LABEL (_tmp98_) ? ((GtkLabel*) _tmp98_) : NULL);
4117- l = _tmp99_;
4118- _tmp100_ = l;
4119- _tmp101_ = e;
4120- _tmp102_ = _tmp101_->permissions;
4121- gtk_label_set_text (_tmp100_, _tmp102_);
4122+ GtkLabel* _tmp98_;
4123+ Event* _tmp99_;
4124+ const gchar* _tmp100_;
4125+ _tmp95_ = self->priv->builder;
4126+ _tmp96_ = gtk_builder_get_object (_tmp95_, "lPermissions");
4127+ _tmp97_ = _g_object_ref0 (GTK_IS_LABEL (_tmp96_) ? ((GtkLabel*) _tmp96_) : NULL);
4128+ l = _tmp97_;
4129+ _tmp98_ = l;
4130+ _tmp99_ = e;
4131+ _tmp100_ = _tmp99_->permissions;
4132+ gtk_label_set_text (_tmp98_, _tmp100_);
4133 _g_object_unref0 (l);
4134 }
4135- _tmp103_ = e;
4136- _tmp104_ = _tmp103_->mail_name;
4137- if (_tmp104_ != NULL) {
4138- GtkBuilder* _tmp105_;
4139- GObject* _tmp106_ = NULL;
4140- GtkEntry* _tmp107_;
4141+ _tmp101_ = e;
4142+ _tmp102_ = _tmp101_->mail_name;
4143+ if (_tmp102_ != NULL) {
4144+ GtkBuilder* _tmp103_;
4145+ GObject* _tmp104_ = NULL;
4146+ GtkEntry* _tmp105_;
4147 GtkEntry* fn;
4148- GtkEntry* _tmp108_;
4149- Event* _tmp109_;
4150- const gchar* _tmp110_;
4151- GtkBuilder* _tmp111_;
4152- GObject* _tmp112_ = NULL;
4153- GtkTextView* _tmp113_;
4154+ GtkEntry* _tmp106_;
4155+ Event* _tmp107_;
4156+ const gchar* _tmp108_;
4157+ GtkBuilder* _tmp109_;
4158+ GObject* _tmp110_ = NULL;
4159+ GtkTextView* _tmp111_;
4160 GtkTextView* l;
4161- GtkTextView* _tmp114_;
4162- GtkTextBuffer* _tmp115_ = NULL;
4163- GtkTextBuffer* _tmp116_;
4164+ GtkTextView* _tmp112_;
4165+ GtkTextBuffer* _tmp113_ = NULL;
4166+ GtkTextBuffer* _tmp114_;
4167 GtkTextBuffer* b;
4168- GtkTextBuffer* _tmp117_;
4169- Event* _tmp118_;
4170- const gchar* _tmp119_;
4171+ GtkTextBuffer* _tmp115_;
4172+ Event* _tmp116_;
4173+ const gchar* _tmp117_;
4174 GtkTextIter it = {0};
4175 GtkTextIter subj = {0};
4176- GtkTextBuffer* _tmp120_;
4177- GtkTextIter _tmp121_ = {0};
4178- GtkTextIter _tmp122_ = {0};
4179- gboolean _tmp123_ = FALSE;
4180- _tmp105_ = self->priv->builder;
4181- _tmp106_ = gtk_builder_get_object (_tmp105_, "eMailName");
4182- _tmp107_ = _g_object_ref0 (GTK_IS_ENTRY (_tmp106_) ? ((GtkEntry*) _tmp106_) : NULL);
4183- fn = _tmp107_;
4184- _tmp108_ = fn;
4185- _tmp109_ = e;
4186- _tmp110_ = _tmp109_->mail_name;
4187- gtk_entry_set_text (_tmp108_, _tmp110_);
4188- _tmp111_ = self->priv->builder;
4189- _tmp112_ = gtk_builder_get_object (_tmp111_, "tvMail");
4190- _tmp113_ = _g_object_ref0 (GTK_IS_TEXT_VIEW (_tmp112_) ? ((GtkTextView*) _tmp112_) : NULL);
4191- l = _tmp113_;
4192- _tmp114_ = l;
4193- _tmp115_ = gtk_text_view_get_buffer (_tmp114_);
4194- _tmp116_ = _g_object_ref0 (_tmp115_);
4195- b = _tmp116_;
4196- _tmp117_ = b;
4197- _tmp118_ = e;
4198- _tmp119_ = _tmp118_->mail_body;
4199- gtk_text_buffer_set_text (_tmp117_, _tmp119_, -1);
4200- _tmp120_ = b;
4201- gtk_text_buffer_get_start_iter (_tmp120_, &_tmp121_);
4202- it = _tmp121_;
4203- _tmp123_ = gtk_text_iter_forward_search (&it, "Subject:", GTK_TEXT_SEARCH_TEXT_ONLY, &_tmp122_, NULL, NULL);
4204- subj = _tmp122_;
4205- if (_tmp123_) {
4206- GtkTextBuffer* _tmp124_;
4207- GtkTextMark* _tmp125_ = NULL;
4208- GtkTextMark* _tmp126_;
4209+ GtkTextBuffer* _tmp118_;
4210+ GtkTextIter _tmp119_ = {0};
4211+ GtkTextIter _tmp120_ = {0};
4212+ gboolean _tmp121_ = FALSE;
4213+ _tmp103_ = self->priv->builder;
4214+ _tmp104_ = gtk_builder_get_object (_tmp103_, "eMailName");
4215+ _tmp105_ = _g_object_ref0 (GTK_IS_ENTRY (_tmp104_) ? ((GtkEntry*) _tmp104_) : NULL);
4216+ fn = _tmp105_;
4217+ _tmp106_ = fn;
4218+ _tmp107_ = e;
4219+ _tmp108_ = _tmp107_->mail_name;
4220+ gtk_entry_set_text (_tmp106_, _tmp108_);
4221+ _tmp109_ = self->priv->builder;
4222+ _tmp110_ = gtk_builder_get_object (_tmp109_, "tvMail");
4223+ _tmp111_ = _g_object_ref0 (GTK_IS_TEXT_VIEW (_tmp110_) ? ((GtkTextView*) _tmp110_) : NULL);
4224+ l = _tmp111_;
4225+ _tmp112_ = l;
4226+ _tmp113_ = gtk_text_view_get_buffer (_tmp112_);
4227+ _tmp114_ = _g_object_ref0 (_tmp113_);
4228+ b = _tmp114_;
4229+ _tmp115_ = b;
4230+ _tmp116_ = e;
4231+ _tmp117_ = _tmp116_->mail_body;
4232+ gtk_text_buffer_set_text (_tmp115_, _tmp117_, -1);
4233+ _tmp118_ = b;
4234+ gtk_text_buffer_get_start_iter (_tmp118_, &_tmp119_);
4235+ it = _tmp119_;
4236+ _tmp121_ = gtk_text_iter_forward_search (&it, "Subject:", GTK_TEXT_SEARCH_TEXT_ONLY, &_tmp120_, NULL, NULL);
4237+ subj = _tmp120_;
4238+ if (_tmp121_) {
4239+ GtkTextBuffer* _tmp122_;
4240+ GtkTextMark* _tmp123_ = NULL;
4241+ GtkTextMark* _tmp124_;
4242 GtkTextMark* insert;
4243- GtkTextBuffer* _tmp127_;
4244- GtkTextIter _tmp128_;
4245- GtkTextIter _tmp129_;
4246- GtkTextView* _tmp130_;
4247- GtkTextMark* _tmp131_;
4248- _tmp124_ = b;
4249- _tmp125_ = gtk_text_buffer_get_insert (_tmp124_);
4250- _tmp126_ = _g_object_ref0 (_tmp125_);
4251- insert = _tmp126_;
4252- _tmp127_ = b;
4253- _tmp128_ = subj;
4254- _tmp129_ = subj;
4255- gtk_text_buffer_select_range (_tmp127_, &_tmp128_, &_tmp129_);
4256- _tmp130_ = l;
4257- _tmp131_ = insert;
4258- gtk_text_view_scroll_to_mark (_tmp130_, _tmp131_, 0.0, TRUE, 0.0, 0.0);
4259+ GtkTextBuffer* _tmp125_;
4260+ GtkTextIter _tmp126_;
4261+ GtkTextIter _tmp127_;
4262+ GtkTextView* _tmp128_;
4263+ GtkTextMark* _tmp129_;
4264+ _tmp122_ = b;
4265+ _tmp123_ = gtk_text_buffer_get_insert (_tmp122_);
4266+ _tmp124_ = _g_object_ref0 (_tmp123_);
4267+ insert = _tmp124_;
4268+ _tmp125_ = b;
4269+ _tmp126_ = subj;
4270+ _tmp127_ = subj;
4271+ gtk_text_buffer_select_range (_tmp125_, &_tmp126_, &_tmp127_);
4272+ _tmp128_ = l;
4273+ _tmp129_ = insert;
4274+ gtk_text_view_scroll_to_mark (_tmp128_, _tmp129_, 0.0, TRUE, 0.0, 0.0);
4275 _g_object_unref0 (insert);
4276 }
4277 _g_object_unref0 (b);
4278 _g_object_unref0 (l);
4279 _g_object_unref0 (fn);
4280 }
4281- _tmp132_ = e;
4282- _tmp133_ = _tmp132_->commands;
4283- if (_tmp133_ != NULL) {
4284+ _tmp130_ = e;
4285+ _tmp131_ = _tmp130_->commands;
4286+ if (_tmp131_ != NULL) {
4287 {
4288- Event* _tmp134_;
4289+ Event* _tmp132_;
4290+ GeeArrayList* _tmp133_;
4291+ GeeArrayList* _tmp134_;
4292+ GeeArrayList* _command_list;
4293 GeeArrayList* _tmp135_;
4294- GeeArrayList* _tmp136_;
4295- GeeArrayList* _command_list;
4296- GeeArrayList* _tmp137_;
4297- gint _tmp138_;
4298- gint _tmp139_;
4299+ gint _tmp136_;
4300+ gint _tmp137_;
4301 gint _command_size;
4302 gint _command_index;
4303- _tmp134_ = e;
4304- _tmp135_ = _tmp134_->commands;
4305- _tmp136_ = _g_object_ref0 (_tmp135_);
4306- _command_list = _tmp136_;
4307- _tmp137_ = _command_list;
4308- _tmp138_ = gee_collection_get_size ((GeeCollection*) _tmp137_);
4309- _tmp139_ = _tmp138_;
4310- _command_size = _tmp139_;
4311+ _tmp132_ = e;
4312+ _tmp133_ = _tmp132_->commands;
4313+ _tmp134_ = _g_object_ref0 (_tmp133_);
4314+ _command_list = _tmp134_;
4315+ _tmp135_ = _command_list;
4316+ _tmp136_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp135_);
4317+ _tmp137_ = _tmp136_;
4318+ _command_size = _tmp137_;
4319 _command_index = -1;
4320 while (TRUE) {
4321+ gint _tmp138_;
4322+ gint _tmp139_;
4323 gint _tmp140_;
4324- gint _tmp141_;
4325+ GeeArrayList* _tmp141_;
4326 gint _tmp142_;
4327- GeeArrayList* _tmp143_;
4328- gint _tmp144_;
4329- gpointer _tmp145_ = NULL;
4330+ gpointer _tmp143_ = NULL;
4331 gchar* command;
4332- GtkHBox* _tmp146_;
4333- GtkHBox* _tmp147_;
4334+ GtkHBox* _tmp144_;
4335+ GtkHBox* _tmp145_;
4336 GtkHBox* hb;
4337 gchar* nice_command = NULL;
4338- const gchar* _tmp163_;
4339+ const gchar* _tmp161_;
4340+ GtkLabel* _tmp162_;
4341+ GtkLabel* _tmp163_;
4342+ GtkLabel* lbl;
4343 GtkLabel* _tmp164_;
4344- GtkLabel* _tmp165_;
4345- GtkLabel* lbl;
4346- GtkLabel* _tmp166_;
4347- GtkButton* _tmp167_;
4348+ GtkButton* _tmp165_;
4349+ GtkButton* _tmp166_;
4350+ GtkButton* but;
4351+ GHashTable* _tmp167_;
4352 GtkButton* _tmp168_;
4353- GtkButton* but;
4354- GHashTable* _tmp169_;
4355- GtkButton* _tmp170_;
4356- GtkWidget* _tmp171_;
4357- const gchar* _tmp172_;
4358- gchar* _tmp173_;
4359- GtkButton* _tmp174_;
4360+ GtkWidget* _tmp169_;
4361+ const gchar* _tmp170_;
4362+ gchar* _tmp171_;
4363+ GtkButton* _tmp172_;
4364+ GtkHBox* _tmp173_;
4365+ GtkLabel* _tmp174_;
4366 GtkHBox* _tmp175_;
4367- GtkLabel* _tmp176_;
4368- GtkHBox* _tmp177_;
4369- GtkButton* _tmp178_;
4370- GtkVBox* _tmp179_;
4371- GtkHBox* _tmp180_;
4372- GtkHBox* _tmp181_;
4373- _tmp140_ = _command_index;
4374- _command_index = _tmp140_ + 1;
4375- _tmp141_ = _command_index;
4376- _tmp142_ = _command_size;
4377- if (!(_tmp141_ < _tmp142_)) {
4378+ GtkButton* _tmp176_;
4379+ GtkVBox* _tmp177_;
4380+ GtkHBox* _tmp178_;
4381+ GtkHBox* _tmp179_;
4382+ _tmp138_ = _command_index;
4383+ _command_index = _tmp138_ + 1;
4384+ _tmp139_ = _command_index;
4385+ _tmp140_ = _command_size;
4386+ if (!(_tmp139_ < _tmp140_)) {
4387 break;
4388 }
4389- _tmp143_ = _command_list;
4390- _tmp144_ = _command_index;
4391- _tmp145_ = gee_abstract_list_get ((GeeAbstractList*) _tmp143_, _tmp144_);
4392- command = (gchar*) _tmp145_;
4393- _tmp146_ = (GtkHBox*) gtk_hbox_new (FALSE, 10);
4394- _tmp147_ = g_object_ref_sink (_tmp146_);
4395- hb = _tmp147_;
4396+ _tmp141_ = _command_list;
4397+ _tmp142_ = _command_index;
4398+ _tmp143_ = gee_abstract_list_get ((GeeAbstractList*) _tmp141_, _tmp142_);
4399+ command = (gchar*) _tmp143_;
4400+ _tmp144_ = (GtkHBox*) gtk_hbox_new (FALSE, 10);
4401+ _tmp145_ = g_object_ref_sink (_tmp144_);
4402+ hb = _tmp145_;
4403 {
4404 GMatchInfo* i_mailto = NULL;
4405- GRegex* _tmp148_;
4406+ GRegex* _tmp146_;
4407 GRegex* mailto_rex;
4408- GRegex* _tmp149_;
4409- const gchar* _tmp150_;
4410- GMatchInfo* _tmp151_ = NULL;
4411- gboolean _tmp152_ = FALSE;
4412- _tmp148_ = g_regex_new ("^gnome-open..mailto:", 0, 0, &_inner_error_);
4413- mailto_rex = _tmp148_;
4414+ GRegex* _tmp147_;
4415+ const gchar* _tmp148_;
4416+ GMatchInfo* _tmp149_ = NULL;
4417+ gboolean _tmp150_ = FALSE;
4418+ _tmp146_ = g_regex_new ("^gnome-open..mailto:", 0, 0, &_inner_error_);
4419+ mailto_rex = _tmp146_;
4420 if (_inner_error_ != NULL) {
4421 _g_match_info_free0 (i_mailto);
4422 if (_inner_error_->domain == G_REGEX_ERROR) {
4423- goto __catch18_g_regex_error;
4424+ goto __catch19_g_regex_error;
4425 }
4426 _g_match_info_free0 (i_mailto);
4427 _g_free0 (nice_command);
4428@@ -4574,54 +4695,54 @@
4429 g_clear_error (&_inner_error_);
4430 return FALSE;
4431 }
4432- _tmp149_ = mailto_rex;
4433- _tmp150_ = command;
4434- _tmp152_ = g_regex_match (_tmp149_, _tmp150_, 0, &_tmp151_);
4435+ _tmp147_ = mailto_rex;
4436+ _tmp148_ = command;
4437+ _tmp150_ = g_regex_match (_tmp147_, _tmp148_, 0, &_tmp149_);
4438 _g_match_info_free0 (i_mailto);
4439- i_mailto = _tmp151_;
4440- if (_tmp152_) {
4441- const gchar* _tmp153_;
4442+ i_mailto = _tmp149_;
4443+ if (_tmp150_) {
4444+ const gchar* _tmp151_;
4445+ gchar* _tmp152_ = NULL;
4446+ gchar* _tmp153_;
4447 gchar* _tmp154_ = NULL;
4448 gchar* _tmp155_;
4449- gchar* _tmp156_ = NULL;
4450- gchar* _tmp157_;
4451+ gchar* _tmp156_;
4452+ _tmp151_ = command;
4453+ _tmp152_ = g_uri_unescape_string (_tmp151_, NULL);
4454+ _tmp153_ = _tmp152_;
4455+ _tmp154_ = string_substring (_tmp153_, (glong) 12, (glong) 70);
4456+ _tmp155_ = _tmp154_;
4457+ _tmp156_ = g_strconcat (_tmp155_, "...", NULL);
4458+ _g_free0 (nice_command);
4459+ nice_command = _tmp156_;
4460+ _g_free0 (_tmp155_);
4461+ _g_free0 (_tmp153_);
4462+ } else {
4463+ const gchar* _tmp157_;
4464 gchar* _tmp158_;
4465- _tmp153_ = command;
4466- _tmp154_ = g_uri_unescape_string (_tmp153_, NULL);
4467- _tmp155_ = _tmp154_;
4468- _tmp156_ = string_substring (_tmp155_, (glong) 12, (glong) 70);
4469- _tmp157_ = _tmp156_;
4470- _tmp158_ = g_strconcat (_tmp157_, "...", NULL);
4471+ _tmp157_ = command;
4472+ _tmp158_ = g_strdup (_tmp157_);
4473 _g_free0 (nice_command);
4474 nice_command = _tmp158_;
4475- _g_free0 (_tmp157_);
4476- _g_free0 (_tmp155_);
4477- } else {
4478- const gchar* _tmp159_;
4479- gchar* _tmp160_;
4480- _tmp159_ = command;
4481- _tmp160_ = g_strdup (_tmp159_);
4482- _g_free0 (nice_command);
4483- nice_command = _tmp160_;
4484 }
4485 _g_regex_unref0 (mailto_rex);
4486 _g_match_info_free0 (i_mailto);
4487 }
4488- goto __finally18;
4489- __catch18_g_regex_error:
4490+ goto __finally19;
4491+ __catch19_g_regex_error:
4492 {
4493 GError* e = NULL;
4494- const gchar* _tmp161_;
4495- gchar* _tmp162_;
4496+ const gchar* _tmp159_;
4497+ gchar* _tmp160_;
4498 e = _inner_error_;
4499 _inner_error_ = NULL;
4500- _tmp161_ = command;
4501- _tmp162_ = g_strdup (_tmp161_);
4502+ _tmp159_ = command;
4503+ _tmp160_ = g_strdup (_tmp159_);
4504 _g_free0 (nice_command);
4505- nice_command = _tmp162_;
4506+ nice_command = _tmp160_;
4507 _g_error_free0 (e);
4508 }
4509- __finally18:
4510+ __finally19:
4511 if (_inner_error_ != NULL) {
4512 _g_free0 (nice_command);
4513 _g_object_unref0 (hb);
4514@@ -4635,34 +4756,34 @@
4515 g_clear_error (&_inner_error_);
4516 return FALSE;
4517 }
4518- _tmp163_ = nice_command;
4519- _tmp164_ = (GtkLabel*) gtk_label_new (_tmp163_);
4520- _tmp165_ = g_object_ref_sink (_tmp164_);
4521- lbl = _tmp165_;
4522- _tmp166_ = lbl;
4523- gtk_misc_set_alignment ((GtkMisc*) _tmp166_, 0.0f, 0.5f);
4524- _tmp167_ = (GtkButton*) gtk_button_new_from_stock ("gtk-execute");
4525- _tmp168_ = g_object_ref_sink (_tmp167_);
4526- but = _tmp168_;
4527- _tmp169_ = self->priv->command_hash;
4528- _tmp170_ = but;
4529- _tmp171_ = _g_object_ref0 ((GtkWidget*) _tmp170_);
4530- _tmp172_ = command;
4531- _tmp173_ = g_strdup (_tmp172_);
4532- g_hash_table_insert (_tmp169_, _tmp171_, _tmp173_);
4533- _tmp174_ = but;
4534- g_signal_connect (_tmp174_, "clicked", (GCallback) _______lambda16__gtk_button_clicked, self);
4535+ _tmp161_ = nice_command;
4536+ _tmp162_ = (GtkLabel*) gtk_label_new (_tmp161_);
4537+ _tmp163_ = g_object_ref_sink (_tmp162_);
4538+ lbl = _tmp163_;
4539+ _tmp164_ = lbl;
4540+ gtk_misc_set_alignment ((GtkMisc*) _tmp164_, 0.0f, 0.5f);
4541+ _tmp165_ = (GtkButton*) gtk_button_new_from_stock ("gtk-execute");
4542+ _tmp166_ = g_object_ref_sink (_tmp165_);
4543+ but = _tmp166_;
4544+ _tmp167_ = self->priv->command_hash;
4545+ _tmp168_ = but;
4546+ _tmp169_ = _g_object_ref0 ((GtkWidget*) _tmp168_);
4547+ _tmp170_ = command;
4548+ _tmp171_ = g_strdup (_tmp170_);
4549+ g_hash_table_insert (_tmp167_, _tmp169_, _tmp171_);
4550+ _tmp172_ = but;
4551+ g_signal_connect (_tmp172_, "clicked", (GCallback) _______lambda19__gtk_button_clicked, self);
4552+ _tmp173_ = hb;
4553+ _tmp174_ = lbl;
4554+ gtk_box_pack_end ((GtkBox*) _tmp173_, (GtkWidget*) _tmp174_, TRUE, TRUE, (guint) 0);
4555 _tmp175_ = hb;
4556- _tmp176_ = lbl;
4557- gtk_box_pack_end ((GtkBox*) _tmp175_, (GtkWidget*) _tmp176_, TRUE, TRUE, (guint) 0);
4558- _tmp177_ = hb;
4559- _tmp178_ = but;
4560- gtk_box_pack_end ((GtkBox*) _tmp177_, (GtkWidget*) _tmp178_, FALSE, FALSE, (guint) 0);
4561- _tmp179_ = vb;
4562- _tmp180_ = hb;
4563- gtk_box_pack_end ((GtkBox*) _tmp179_, (GtkWidget*) _tmp180_, TRUE, TRUE, (guint) 0);
4564- _tmp181_ = hb;
4565- gtk_widget_show_all ((GtkWidget*) _tmp181_);
4566+ _tmp176_ = but;
4567+ gtk_box_pack_end ((GtkBox*) _tmp175_, (GtkWidget*) _tmp176_, FALSE, FALSE, (guint) 0);
4568+ _tmp177_ = vb;
4569+ _tmp178_ = hb;
4570+ gtk_box_pack_end ((GtkBox*) _tmp177_, (GtkWidget*) _tmp178_, TRUE, TRUE, (guint) 0);
4571+ _tmp179_ = hb;
4572+ gtk_widget_show_all ((GtkWidget*) _tmp179_);
4573 _g_object_unref0 (but);
4574 _g_object_unref0 (lbl);
4575 _g_free0 (nice_command);
4576@@ -4672,72 +4793,72 @@
4577 _g_object_unref0 (_command_list);
4578 }
4579 }
4580- _tmp182_ = self->priv->builder;
4581- _tmp183_ = gtk_builder_get_object (_tmp182_, "fDisplayPermissions");
4582- _tmp184_ = _g_object_ref0 (GTK_IS_WIDGET (_tmp183_) ? ((GtkWidget*) _tmp183_) : NULL);
4583- x = _tmp184_;
4584- _tmp185_ = x;
4585- _tmp186_ = e;
4586- _tmp187_ = _tmp186_->permissions;
4587- gtk_widget_set_visible (_tmp185_, _tmp187_ != NULL);
4588- _tmp188_ = self->priv->builder;
4589- _tmp189_ = gtk_builder_get_object (_tmp188_, "fDisplayMail");
4590- _tmp190_ = _g_object_ref0 (GTK_IS_WIDGET (_tmp189_) ? ((GtkWidget*) _tmp189_) : NULL);
4591- _g_object_unref0 (x);
4592- x = _tmp190_;
4593- _tmp191_ = x;
4594- _tmp192_ = e;
4595- _tmp193_ = _tmp192_->mail_name;
4596- gtk_widget_set_visible (_tmp191_, _tmp193_ != NULL);
4597- _tmp194_ = self->priv->builder;
4598- _tmp195_ = gtk_builder_get_object (_tmp194_, "fRun");
4599- _tmp196_ = _g_object_ref0 (GTK_IS_WIDGET (_tmp195_) ? ((GtkWidget*) _tmp195_) : NULL);
4600- _g_object_unref0 (x);
4601- x = _tmp196_;
4602- _tmp197_ = x;
4603- _tmp198_ = e;
4604- _tmp199_ = _tmp198_->commands;
4605- _tmp200_ = gee_collection_get_size ((GeeCollection*) _tmp199_);
4606- _tmp201_ = _tmp200_;
4607- gtk_widget_set_visible (_tmp197_, _tmp201_ > 0);
4608+ _tmp180_ = self->priv->builder;
4609+ _tmp181_ = gtk_builder_get_object (_tmp180_, "fDisplayPermissions");
4610+ _tmp182_ = _g_object_ref0 (GTK_IS_WIDGET (_tmp181_) ? ((GtkWidget*) _tmp181_) : NULL);
4611+ x = _tmp182_;
4612+ _tmp183_ = x;
4613+ _tmp184_ = e;
4614+ _tmp185_ = _tmp184_->permissions;
4615+ gtk_widget_set_visible (_tmp183_, _tmp185_ != NULL);
4616+ _tmp186_ = self->priv->builder;
4617+ _tmp187_ = gtk_builder_get_object (_tmp186_, "fDisplayMail");
4618+ _tmp188_ = _g_object_ref0 (GTK_IS_WIDGET (_tmp187_) ? ((GtkWidget*) _tmp187_) : NULL);
4619+ _g_object_unref0 (x);
4620+ x = _tmp188_;
4621+ _tmp189_ = x;
4622+ _tmp190_ = e;
4623+ _tmp191_ = _tmp190_->mail_name;
4624+ gtk_widget_set_visible (_tmp189_, _tmp191_ != NULL);
4625+ _tmp192_ = self->priv->builder;
4626+ _tmp193_ = gtk_builder_get_object (_tmp192_, "fRun");
4627+ _tmp194_ = _g_object_ref0 (GTK_IS_WIDGET (_tmp193_) ? ((GtkWidget*) _tmp193_) : NULL);
4628+ _g_object_unref0 (x);
4629+ x = _tmp194_;
4630+ _tmp195_ = x;
4631+ _tmp196_ = e;
4632+ _tmp197_ = _tmp196_->commands;
4633+ _tmp198_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp197_);
4634+ _tmp199_ = _tmp198_;
4635+ gtk_widget_set_visible (_tmp195_, _tmp199_ > 0);
4636 _g_object_unref0 (x);
4637 _g_object_unref0 (vb);
4638 _g_object_unref0 (l_cause);
4639 _g_object_unref0 (l_ctx);
4640 } else {
4641- gboolean _tmp202_ = FALSE;
4642- Event* _tmp203_;
4643- gboolean _tmp206_;
4644- _tmp203_ = e;
4645- if (_tmp203_ != NULL) {
4646- Event* _tmp204_;
4647- gboolean _tmp205_;
4648- _tmp204_ = e;
4649- _tmp205_ = _tmp204_->enter_network_error_mode;
4650- _tmp202_ = _tmp205_;
4651+ gboolean _tmp200_ = FALSE;
4652+ Event* _tmp201_;
4653+ gboolean _tmp204_;
4654+ _tmp201_ = e;
4655+ if (_tmp201_ != NULL) {
4656+ Event* _tmp202_;
4657+ gboolean _tmp203_;
4658+ _tmp202_ = e;
4659+ _tmp203_ = _tmp202_->enter_network_error_mode;
4660+ _tmp200_ = _tmp203_;
4661 } else {
4662- _tmp202_ = FALSE;
4663+ _tmp200_ = FALSE;
4664 }
4665- _tmp206_ = _tmp202_;
4666- if (_tmp206_) {
4667- GtkStatusIcon* _tmp207_;
4668- GtkStatusIcon* _tmp208_;
4669+ _tmp204_ = _tmp200_;
4670+ if (_tmp204_) {
4671+ GtkStatusIcon* _tmp205_;
4672+ GtkStatusIcon* _tmp206_;
4673 self->priv->network_error_mode = TRUE;
4674- _tmp207_ = self->priv->si;
4675- gtk_status_icon_set_from_icon_name (_tmp207_, "dialog-warning");
4676- _tmp208_ = self->priv->si;
4677- gtk_status_icon_set_tooltip_text (_tmp208_, "Network error");
4678+ _tmp205_ = self->priv->si;
4679+ gtk_status_icon_set_from_icon_name (_tmp205_, "dialog-warning");
4680+ _tmp206_ = self->priv->si;
4681+ gtk_status_icon_set_tooltip_text (_tmp206_, "Network error");
4682 } else {
4683- Event* _tmp209_;
4684- _tmp209_ = e;
4685- if (_tmp209_ != NULL) {
4686- GtkStatusIcon* _tmp210_;
4687- GtkStatusIcon* _tmp211_;
4688+ Event* _tmp207_;
4689+ _tmp207_ = e;
4690+ if (_tmp207_ != NULL) {
4691+ GtkStatusIcon* _tmp208_;
4692+ GtkStatusIcon* _tmp209_;
4693 self->priv->network_error_mode = FALSE;
4694- _tmp210_ = self->priv->si;
4695- gtk_status_icon_set_from_icon_name (_tmp210_, "mail-send-receive");
4696- _tmp211_ = self->priv->si;
4697- gtk_status_icon_set_tooltip_text (_tmp211_, "smd-applet is running");
4698+ _tmp208_ = self->priv->si;
4699+ gtk_status_icon_set_from_icon_name (_tmp208_, "mail-send-receive");
4700+ _tmp209_ = self->priv->si;
4701+ gtk_status_icon_set_tooltip_text (_tmp209_, "smd-applet is running");
4702 }
4703 }
4704 }
4705@@ -4788,13 +4909,13 @@
4706 _tmp4_ = gconf_client_get_bool (_tmp3_, SMD_APPLET_key_icon, &_inner_error_);
4707 _tmp5_ = _tmp4_;
4708 if (_inner_error_ != NULL) {
4709- goto __catch20_g_error;
4710+ goto __catch21_g_error;
4711 }
4712 _tmp6_ = self->priv->si;
4713 gtk_status_icon_set_visible (_tmp6_, !_tmp5_);
4714 }
4715- goto __finally20;
4716- __catch20_g_error:
4717+ goto __finally21;
4718+ __catch21_g_error:
4719 {
4720 GError* e = NULL;
4721 FILE* _tmp7_;
4722@@ -4808,7 +4929,7 @@
4723 fprintf (_tmp7_, "%s\n", _tmp9_);
4724 _g_error_free0 (e);
4725 }
4726- __finally20:
4727+ __finally21:
4728 if (_inner_error_ != NULL) {
4729 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4730 g_clear_error (&_inner_error_);
4731@@ -4871,13 +4992,13 @@
4732 _tmp6_ = gconf_client_get_bool (_tmp5_, SMD_APPLET_key_icon, &_inner_error_);
4733 _tmp7_ = _tmp6_;
4734 if (_inner_error_ != NULL) {
4735- goto __catch21_g_error;
4736+ goto __catch22_g_error;
4737 }
4738 _tmp8_ = self->priv->si;
4739 gtk_status_icon_set_visible (_tmp8_, !_tmp7_);
4740 }
4741- goto __finally21;
4742- __catch21_g_error:
4743+ goto __finally22;
4744+ __catch22_g_error:
4745 {
4746 GError* e = NULL;
4747 FILE* _tmp9_;
4748@@ -4891,7 +5012,7 @@
4749 fprintf (_tmp9_, "Unable to read gconf key %s: %s\n", SMD_APPLET_key_icon, _tmp11_);
4750 _g_error_free0 (e);
4751 }
4752- __finally21:
4753+ __finally22:
4754 if (_inner_error_ != NULL) {
4755 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4756 g_clear_error (&_inner_error_);
4757@@ -5113,7 +5234,7 @@
4758 d = _tmp7_;
4759 if (_inner_error_ != NULL) {
4760 if (_inner_error_->domain == G_FILE_ERROR) {
4761- goto __catch22_g_file_error;
4762+ goto __catch23_g_file_error;
4763 }
4764 _g_object_unref0 (b);
4765 _g_object_unref0 (tv);
4766@@ -5152,7 +5273,7 @@
4767 gtk_combo_box_text_append_text (_tmp17_, _tmp18_);
4768 }
4769 _tmp19_ = self->priv->lognames;
4770- _tmp20_ = gee_collection_get_size ((GeeCollection*) _tmp19_);
4771+ _tmp20_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp19_);
4772 _tmp21_ = _tmp20_;
4773 if (_tmp21_ == 0) {
4774 GtkTextBuffer* _tmp22_;
4775@@ -5176,8 +5297,8 @@
4776 _g_free0 (file);
4777 _g_dir_close0 (d);
4778 }
4779- goto __finally22;
4780- __catch22_g_file_error:
4781+ goto __finally23;
4782+ __catch23_g_file_error:
4783 {
4784 GError* e = NULL;
4785 GtkTextBuffer* _tmp28_;
4786@@ -5194,7 +5315,7 @@
4787 _g_free0 (_tmp31_);
4788 _g_error_free0 (e);
4789 }
4790- __finally22:
4791+ __finally23:
4792 if (_inner_error_ != NULL) {
4793 _g_object_unref0 (b);
4794 _g_object_unref0 (tv);
4795@@ -5292,11 +5413,11 @@
4796 _tmp13_ = self->priv->notification;
4797 notify_notification_show (_tmp13_, &_inner_error_);
4798 if (_inner_error_ != NULL) {
4799- goto __catch23_g_error;
4800+ goto __catch24_g_error;
4801 }
4802 }
4803- goto __finally23;
4804- __catch23_g_error:
4805+ goto __finally24;
4806+ __catch24_g_error:
4807 {
4808 GError* e = NULL;
4809 FILE* _tmp14_;
4810@@ -5310,7 +5431,7 @@
4811 fprintf (_tmp14_, "%s\n", _tmp16_);
4812 _g_error_free0 (e);
4813 }
4814- __finally23:
4815+ __finally24:
4816 if (_inner_error_ != NULL) {
4817 if (_inner_error_->domain == EXIT) {
4818 g_propagate_error (error, _inner_error_);
4819@@ -5331,13 +5452,13 @@
4820 _tmp18_ = gconf_client_get_bool (_tmp17_, SMD_APPLET_key_icon, &_inner_error_);
4821 _tmp19_ = _tmp18_;
4822 if (_inner_error_ != NULL) {
4823- goto __catch24_g_error;
4824+ goto __catch25_g_error;
4825 }
4826 _tmp20_ = self->priv->si;
4827 gtk_status_icon_set_visible (_tmp20_, !_tmp19_);
4828 }
4829- goto __finally24;
4830- __catch24_g_error:
4831+ goto __finally25;
4832+ __catch25_g_error:
4833 {
4834 GError* e = NULL;
4835 FILE* _tmp21_;
4836@@ -5351,7 +5472,7 @@
4837 fprintf (_tmp21_, "%s\n", _tmp23_);
4838 _g_error_free0 (e);
4839 }
4840- __finally24:
4841+ __finally25:
4842 if (_inner_error_ != NULL) {
4843 if (_inner_error_->domain == EXIT) {
4844 g_propagate_error (error, _inner_error_);
4845@@ -5533,6 +5654,7 @@
4846
4847
4848 static void smd_applet_instance_init (smdApplet * self) {
4849+ GMutex _tmp0_ = {0};
4850 self->priv = SMD_APPLET_GET_PRIVATE (self);
4851 self->priv->builder = NULL;
4852 self->priv->menuL = NULL;
4853@@ -5548,7 +5670,8 @@
4854 self->priv->gconf = NULL;
4855 self->priv->thread = NULL;
4856 self->priv->thread_die = FALSE;
4857- self->priv->events_lock = NULL;
4858+ g_mutex_init (&_tmp0_);
4859+ self->priv->events_lock = _tmp0_;
4860 self->priv->events = NULL;
4861 self->priv->error_mode = FALSE;
4862 self->priv->network_error_mode = FALSE;
4863@@ -5575,7 +5698,8 @@
4864 _g_object_unref0 (self->priv->cblogs);
4865 _g_object_unref0 (self->priv->lognames);
4866 _g_object_unref0 (self->priv->gconf);
4867- _g_mutex_free0 (self->priv->events_lock);
4868+ _g_thread_unref0 (self->priv->thread);
4869+ g_mutex_clear (&self->priv->events_lock);
4870 _g_object_unref0 (self->priv->events);
4871 _g_hash_table_unref0 (self->priv->command_hash);
4872 _g_object_unref0 (self->priv->net_manager);
4873@@ -5624,29 +5748,36 @@
4874 gchar* _tmp3_;
4875 gboolean _tmp4_ = FALSE;
4876 gboolean _tmp5_;
4877- const gchar* _tmp23_ = NULL;
4878- gchar* _tmp24_;
4879+ const gchar* _tmp28_ = NULL;
4880+ gchar* _tmp29_;
4881 gchar* homedir;
4882- const gchar* _tmp25_;
4883- gchar* _tmp26_;
4884- const gchar* _tmp27_;
4885- gchar* _tmp28_;
4886- const gchar* _tmp29_;
4887- gchar* _tmp30_;
4888+ const gchar* _tmp30_;
4889+ gchar* _tmp31_;
4890+ const gchar* _tmp32_;
4891+ gchar* _tmp33_;
4892+ const gchar* _tmp34_;
4893+ gchar* _tmp35_;
4894+ const gchar* _tmp36_ = NULL;
4895+ gchar* _tmp37_;
4896+ gchar* conf_home;
4897+ const gchar* _tmp38_;
4898+ const gchar* _tmp43_;
4899+ gchar* _tmp44_ = NULL;
4900+ gchar* _tmp45_;
4901 gboolean config_only;
4902- GOptionEntry _tmp31_ = {0};
4903- GOptionEntry _tmp32_ = {0};
4904- GOptionEntry _tmp33_ = {0};
4905- GOptionEntry _tmp34_ = {0};
4906- GOptionEntry* _tmp35_ = NULL;
4907+ GOptionEntry _tmp46_ = {0};
4908+ GOptionEntry _tmp47_ = {0};
4909+ GOptionEntry _tmp48_ = {0};
4910+ GOptionEntry _tmp49_ = {0};
4911+ GOptionEntry* _tmp50_ = NULL;
4912 GOptionEntry* oe;
4913 gint oe_length1;
4914 gint _oe_size_;
4915- GOptionContext* _tmp36_;
4916+ GOptionContext* _tmp51_;
4917 GOptionContext* oc;
4918- GOptionContext* _tmp37_;
4919- GOptionEntry* _tmp38_;
4920- gint _tmp38__length1;
4921+ GOptionContext* _tmp52_;
4922+ GOptionEntry* _tmp53_;
4923+ gint _tmp53__length1;
4924 GError * _inner_error_ = NULL;
4925 _tmp0_ = g_strdup (SMD_CONF_PREFIX);
4926 PREFIX = _tmp0_;
4927@@ -5668,6 +5799,9 @@
4928 gchar* _tmp14_;
4929 FILE* _tmp15_;
4930 const gchar* _tmp16_;
4931+ gchar* _tmp17_;
4932+ FILE* _tmp18_;
4933+ const gchar* _tmp19_;
4934 _tmp6_ = stderr;
4935 _tmp7_ = PREFIX;
4936 fprintf (_tmp6_, "error: file not found: %s + %s\n", _tmp7_, SMD_APPLET_UI);
4937@@ -5689,94 +5823,131 @@
4938 _tmp15_ = stderr;
4939 _tmp16_ = smd_applet_smd_push_cmd;
4940 fprintf (_tmp15_, "smd-applet not installed, " "assuming smd-push is: %s\n", _tmp16_);
4941+ _tmp17_ = g_strdup ("./smd-applet.desktop");
4942+ _g_free0 (smd_applet_smd_applet_desktop);
4943+ smd_applet_smd_applet_desktop = _tmp17_;
4944+ _tmp18_ = stderr;
4945+ _tmp19_ = smd_applet_smd_applet_desktop;
4946+ fprintf (_tmp18_, "smd-applet not installed, " "assuming smd-applet.desktop is: %s\n", _tmp19_);
4947 } else {
4948- const gchar* _tmp17_;
4949- gchar* _tmp18_;
4950- const gchar* _tmp19_;
4951- gchar* _tmp20_;
4952- const gchar* _tmp21_;
4953- gchar* _tmp22_;
4954- _tmp17_ = PREFIX;
4955- _tmp18_ = g_strconcat (_tmp17_, SMD_LOOP, NULL);
4956+ const gchar* _tmp20_;
4957+ gchar* _tmp21_;
4958+ const gchar* _tmp22_;
4959+ gchar* _tmp23_;
4960+ const gchar* _tmp24_;
4961+ gchar* _tmp25_;
4962+ const gchar* _tmp26_;
4963+ gchar* _tmp27_;
4964+ _tmp20_ = PREFIX;
4965+ _tmp21_ = g_strconcat (_tmp20_, SMD_LOOP, NULL);
4966 _g_free0 (smd_applet_smd_loop_cmd);
4967- smd_applet_smd_loop_cmd = _tmp18_;
4968- _tmp19_ = PREFIX;
4969- _tmp20_ = g_strconcat (_tmp19_, SMD_PUSH, NULL);
4970+ smd_applet_smd_loop_cmd = _tmp21_;
4971+ _tmp22_ = PREFIX;
4972+ _tmp23_ = g_strconcat (_tmp22_, SMD_PUSH, NULL);
4973 _g_free0 (smd_applet_smd_push_cmd);
4974- smd_applet_smd_push_cmd = _tmp20_;
4975- _tmp21_ = PREFIX;
4976- _tmp22_ = g_strconcat (_tmp21_, SMD_APPLET_UI, NULL);
4977+ smd_applet_smd_push_cmd = _tmp23_;
4978+ _tmp24_ = PREFIX;
4979+ _tmp25_ = g_strconcat (_tmp24_, SMD_APPLET_UI, NULL);
4980 _g_free0 (smd_applet_smd_applet_ui);
4981- smd_applet_smd_applet_ui = _tmp22_;
4982+ smd_applet_smd_applet_ui = _tmp25_;
4983+ _tmp26_ = PREFIX;
4984+ _tmp27_ = g_strconcat (_tmp26_, SMD_APPLET_DESKTOP, NULL);
4985+ _g_free0 (smd_applet_smd_applet_desktop);
4986+ smd_applet_smd_applet_desktop = _tmp27_;
4987 }
4988- _tmp23_ = g_get_home_dir ();
4989- _tmp24_ = g_strdup (_tmp23_);
4990- homedir = _tmp24_;
4991- _tmp25_ = homedir;
4992- _tmp26_ = g_strconcat (_tmp25_, "/.smd/log/", NULL);
4993+ _tmp28_ = g_get_home_dir ();
4994+ _tmp29_ = g_strdup (_tmp28_);
4995+ homedir = _tmp29_;
4996+ _tmp30_ = homedir;
4997+ _tmp31_ = g_strconcat (_tmp30_, "/.smd/log/", NULL);
4998 _g_free0 (SMD_LOGS_DIR);
4999- SMD_LOGS_DIR = _tmp26_;
5000- _tmp27_ = homedir;
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: