Index: gpxview-0.9.6/src/gcvote.h
===================================================================
--- gpxview-0.9.6.orig/src/gcvote.h	2009-11-07 08:35:17.000000000 +0100
+++ gpxview-0.9.6/src/gcvote.h	2012-07-30 17:08:27.646252408 +0200
@@ -25,7 +25,6 @@
 #include "gconf.h"
 
 #include <curl/curl.h>
-#include <curl/types.h>
 
 /* the full vote structure used during parsing */
 typedef struct gcvote_s {
Index: gpxview-0.9.6/src/gps.h
===================================================================
--- gpxview-0.9.6.orig/src/gps.h	2010-05-27 21:09:31.000000000 +0200
+++ gpxview-0.9.6/src/gps.h	2012-07-30 17:17:53.837316590 +0200
@@ -37,7 +37,7 @@
 #define NAN (0.0/0.0)
 #endif /* !NAN */
 
-#define GPS_MAXCHANNELS 20
+#define GPS_MAXCHANNELS 100
 #define MAXTAGLEN    8       /* maximum length of sentence tag name */
 
 typedef struct {
@@ -57,8 +57,6 @@
   gps_sat_t sat_data[GPS_MAXCHANNELS];
 };
 
-typedef unsigned int gps_mask_t;
-
 #define FIX_LATLON_SET	   (1<<0)
 #define FIX_ALTITUDE_SET   (1<<1)
 #define FIX_TRACK_SET	   (1<<2)
@@ -106,6 +104,7 @@
 
 #ifdef USE_LIBGPS
   struct gps_data_t *data;
+  struct gps_data_t __data;
 #else
   GnomeVFSInetConnection *iconn;
   GnomeVFSSocket *socket;
Index: gpxview-0.9.6/src/gcvote.c
===================================================================
--- gpxview-0.9.6.orig/src/gcvote.c	2009-11-18 17:26:10.000000000 +0100
+++ gpxview-0.9.6/src/gcvote.c	2012-07-30 17:19:56.655696079 +0200
@@ -16,7 +16,6 @@
  */
 
 #include <curl/curl.h>
-#include <curl/types.h>
 #include <curl/easy.h>
 
 #include <libxml/parser.h>
Index: gpxview-0.9.6/src/gps.c
===================================================================
--- gpxview-0.9.6.orig/src/gps.c	2010-06-07 13:47:57.000000000 +0200
+++ gpxview-0.9.6/src/gps.c	2012-07-30 17:23:27.895791709 +0200
@@ -435,7 +435,7 @@
     g_mutex_lock(gps_state->control_mutex);
     g_mutex_unlock(gps_state->control_mutex);
 
-    gps_poll(gps_state->data);
+    gps_read(gps_state->data);
 
     g_mutex_lock(gps_state->mutex);
     
@@ -504,13 +504,15 @@
 
 gps_state_t *gps_init(void) {
   gps_state_t *gps_state = g_new0(gps_state_t, 1);
+  int err;
 
   gps_state->mutex = g_mutex_new();
   gps_state->control_mutex = g_mutex_new();
 
-  gps_state->data = gps_open("127.0.0.1", DEFAULT_GPSD_PORT );
-  if(!gps_state->data)
+  err = gps_open("127.0.0.1", DEFAULT_GPSD_PORT, &gps_state->__data);
+  if(err)
     perror("gps_open()");
+  gps_state->data = &gps_state->__data;
 
   (void)gps_stream(gps_state->data, WATCH_ENABLE, NULL);
 
