diff --git a/ChangeLog b/ChangeLog
index 84b5137..e9026ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-07-15  Martin Kretzschmar  <martink@gnome.org>
+
+	* test/gtk-cairo-test.cc: update for 2005-06-27 change to actually
+	display something again.
+
 2005-07-10  Brad Hards  <bradh@frogmouth.net>
 
 	* poppler/ArthurOutputDev.cc: General cleanup - removing
diff --git a/test/gtk-cairo-test.cc b/test/gtk-cairo-test.cc
index 0d086e9..1187a5e 100644
--- a/test/gtk-cairo-test.cc
+++ b/test/gtk-cairo-test.cc
@@ -39,7 +39,8 @@
   
   virtual ~GDKCairoOutputDev();
 
-  virtual void GDKCairoOutputDev::createCairo(GfxState *state);
+  // Start a page.
+  virtual void startPage(int pageNum, GfxState *state);
 
   //----- special access
 
@@ -74,14 +75,13 @@
   redrawCbk = redrawCbkA;
   redrawCbkData = redrawCbkDataA;
   pixmap = NULL;
-  createCairo (NULL);
 }
 
 GDKCairoOutputDev::~GDKCairoOutputDev() {
 }
 
 void
-GDKCairoOutputDev::createCairo(GfxState *state) {
+GDKCairoOutputDev::startPage(int pageNum, GfxState *state) {
   Display *display;
   Drawable xid;
   GdkGC *gc;
@@ -116,9 +116,11 @@
     surface = cairo_xlib_surface_create(display, xid,
 					DefaultVisual(display, DefaultScreen(display)),
 					w, h);
-    cairo = cairo_create (surface);
+    setSurface(surface);
     cairo_surface_destroy (surface);
   }
+
+  CairoOutputDev::startPage(pageNum, state);
 }
 
 void GDKCairoOutputDev::redraw(int srcX, int srcY,
