[geany/geany-plugins] c40d33: debugger: Don't remove non-existent GSources
Colomban Wendling
git-noreply at xxxxx
Sun Nov 15 17:28:17 UTC 2015
Branch: refs/heads/master
Author: Colomban Wendling <ban at herbesfolles.org>
Committer: Colomban Wendling <ban at herbesfolles.org>
Date: Sat, 25 Oct 2014 13:16:46 UTC
Commit: c40d3342dbdf30cf578bcf6ff39566681c850a3f
https://github.com/geany/geany-plugins/commit/c40d3342dbdf30cf578bcf6ff39566681c850a3f
Log Message:
-----------
debugger: Don't remove non-existent GSources
Modified Paths:
--------------
debugger/src/dbm_gdb.c
Modified: debugger/src/dbm_gdb.c
25 lines changed, 21 insertions(+), 4 deletions(-)
===================================================================
@@ -192,6 +192,7 @@ static void on_gdb_exit(GPid pid, gint status, gpointer data)
files = NULL;
g_source_remove(gdb_src_id);
+ gdb_src_id = 0;
dbg_cbs->set_exited(0);
}
@@ -325,7 +326,11 @@ static gboolean on_read_async_output(GIOChannel * src, GIOCondition cond, gpoint
GList *commands = (GList*)data;
gchar *coma;
- g_source_remove(gdb_id_out);
+ if (gdb_id_out)
+ {
+ g_source_remove(gdb_id_out);
+ gdb_id_out = 0;
+ }
lines = read_until_prompt();
g_list_foreach(lines, (GFunc)g_free, NULL);
@@ -367,7 +372,11 @@ static gboolean on_read_async_output(GIOChannel * src, GIOCondition cond, gpoint
free_commands_queue(commands);
/* removing read callback */
- g_source_remove(gdb_id_out);
+ if (gdb_id_out)
+ {
+ g_source_remove(gdb_id_out);
+ gdb_id_out = 0;
+ }
/* update source files list */
update_files();
@@ -491,7 +500,11 @@ static gboolean on_read_from_gdb(GIOChannel * src, GIOCondition cond, gpointer d
char *reason;
/* removing read callback (will pulling all output left manually) */
- g_source_remove(gdb_id_out);
+ if (gdb_id_out)
+ {
+ g_source_remove(gdb_id_out);
+ gdb_id_out = 0;
+ }
/* looking for a reason to stop */
reason = strstr(record, "reason=\"");
@@ -580,7 +593,11 @@ static gboolean on_read_from_gdb(GIOChannel * src, GIOCondition cond, gpointer d
char *msg;
/* removing read callback (will pulling all output left manually) */
- g_source_remove(gdb_id_out);
+ if (gdb_id_out)
+ {
+ g_source_remove(gdb_id_out);
+ gdb_id_out = 0;
+ }
/* set debugger stopped if is running */
if (DBS_STOPPED != debug_get_state())
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
More information about the Plugins-Commits
mailing list