Revision: 3729 http://geany.svn.sourceforge.net/geany/?rev=3729&view=rev Author: eht16 Date: 2009-04-24 19:29:20 +0000 (Fri, 24 Apr 2009)
Log Message: ----------- Fix a crash when USE_GIO_FILEMON is enabled at closing a document which was reloaded shortly before.
Modified Paths: -------------- trunk/ChangeLog trunk/src/document.c
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-04-24 19:28:55 UTC (rev 3728) +++ trunk/ChangeLog 2009-04-24 19:29:20 UTC (rev 3729) @@ -3,6 +3,9 @@ * src/keybindings.c: Manually show the main notebook tab bar menu when Shift-F10 is pressed. This broke when we disabled the default GTK tab bar menu. + * src/document.c: + Fix a crash when USE_GIO_FILEMON is enabled at closing a document + which was reloaded shortly before.
2009-04-21 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: trunk/src/document.c =================================================================== --- trunk/src/document.c 2009-04-24 19:28:55 UTC (rev 3728) +++ trunk/src/document.c 2009-04-24 19:29:20 UTC (rev 3729) @@ -435,13 +435,17 @@
/* Resets the 'ignore' file status after a reload action. */ -static gboolean monitor_reset_ignore(gpointer doc) +static gboolean monitor_reset_ignore(gpointer data) { - g_return_val_if_fail(doc != NULL, FALSE); - - ((GeanyDocument *)doc)->priv->file_disk_status = FILE_OK; - ui_update_tab_status(doc); - + GeanyDocument *doc = data; + /* FIXME even if the doc is valid, it might be the wrong document if the original document was + * closed a new one opened which got this doc pointer while the timeout was active. Either + * remove the timeout when closing or document or remove the timeout completely. */ + if (DOC_VALID(doc)) + { + doc->priv->file_disk_status = FILE_OK; + ui_update_tab_status(doc); + } return FALSE; }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.