chiark / gitweb /
Merge from disorder.dev.
[disorder] / disobedience / client.c
index d81aac2f34c90287204c27a71b13a4c8e859139c..45c6c0a94b2406d408a0c546d6722ca4bb71b640 100644 (file)
@@ -2,20 +2,18 @@
  * This file is part of DisOrder.
  * Copyright (C) 2006, 2007, 2008 Richard Kettlewell
  *
- * This program is free software; you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
+ * the Free Software Foundation, either version 3 of the License, or
  * (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- * USA
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 /** @file disobedience/client.c
  * @brief GLIB integration for @ref lib/eclient.c client
@@ -39,7 +37,7 @@ static gboolean gtkclient_prepare(GSource *source,
                                  gint *timeout) {
   const struct eclient_source *esource = (struct eclient_source *)source;
   D(("gtkclient_prepare"));
-  if(time(0) > esource->last_poll + 10)
+  if(xtime(0) > esource->last_poll + 10)
     return TRUE;               /* timed out */
   *timeout = 3000/*milliseconds*/;
   return FALSE;                        /* please poll */
@@ -67,9 +65,8 @@ static gboolean gtkclient_dispatch(GSource *source,
     mode |= DISORDER_POLL_READ;
   if(revents & (G_IO_OUT|G_IO_HUP|G_IO_ERR))
     mode |= DISORDER_POLL_WRITE;
-  time(&esource->last_poll);
-  if(!login_window)
-    disorder_eclient_polled(esource->client, mode);
+  xtime(&esource->last_poll);
+  disorder_eclient_polled(esource->client, mode);
   return TRUE;                          /* ??? not documented */
 }
 
@@ -126,19 +123,15 @@ static void gtkclient_comms_error(void attribute((unused)) *u,
 /** @brief Report a protocol-level error
  *
  * The error will not be retried.  We offer a callback to the submitter of the
- * original command and if none is supplied we pop up an error box.
+ * original command and if none is supplied we drop the error message in the
+ * status bar.
  */
 static void gtkclient_protocol_error(void attribute((unused)) *u,
-                                    void *v,
-                                     int code,
+                                    void attribute((unused)) *v,
+                                     int attribute((unused)) code,
                                     const char *msg) {
-  struct callbackdata *cbd = v;
-
   D(("gtkclient_protocol_error %s", msg));
-  if(cbd && cbd->onerror)
-    cbd->onerror(cbd, code, msg);
-  else
-    popup_protocol_error(code, msg);
+  gtk_label_set_text(GTK_LABEL(report_label), msg);
 }
 
 /** @brief Report callback from eclient */