Bug#299939: gkdial
#299939 and #218014 likely have the same cause. Someone might
consider downgrading #299939 and/or merging them.
It seems that both are caused by a user-trigged disconnect event while
in a state when disconnect should be disallowed. A proper solution
probably requires glib synchronization, but I'll bet that the problems
can be visibly solved by something like:
/*
* runs the command the user defined to disconnect
*/
void
gk_disconnect (GtkWidget * button, gpointer data)
{
GkDial *gkdial = (GkDial *) data;
gchar *disconnect_cmd = DOWNCMD;
+
+ if (!disconnect_valid) return;
+ disconnect_valid=0;
/*
* this shows that gkdial was the responsible for the connection
* being
* closed
*/
gkdial->was_gkdial = FALSE;
gkdial_exec (gkdial, disconnect_cmd, DISCONNECTING);
}
where disconnect_valid is a global variable, set to TRUE at the
appropriate time, and set to FALSE above, and while redialing.
I'm having trouble testing this since I don't have a linmodem..
Justin
Reply to: