Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/gtk+/ChangeLog,v
retrieving revision 1.5367.2.184
diff -u -2 -r1.5367.2.184 ChangeLog
--- ChangeLog	15 Aug 2004 15:00:49 -0000	1.5367.2.184
+++ ChangeLog	15 Aug 2004 15:08:58 -0000
@@ -1,4 +1,8 @@
 2004-08-15  Tor Lillqvist  <tml@iki.fi>
 
+	* gdk/win32/gdkdisplay-win32.c (enum_monitor, gdk_display_open):
+	Use whole of (primary) monitor, including the taskbar. Excluding
+	the taskbar area from the "root window" wasn't really a good idea.
+
 	* gtk-zip.sh.in: Fix typo. The gtk.immodules file had never been
 	included in my zipfiles...!
Index: gdk/win32/gdkdisplay-win32.c
===================================================================
RCS file: /cvs/gnome/gtk+/gdk/win32/gdkdisplay-win32.c,v
retrieving revision 1.14
diff -u -2 -r1.14 gdkdisplay-win32.c
--- gdk/win32/gdkdisplay-win32.c	13 Mar 2004 22:26:05 -0000	1.14
+++ gdk/win32/gdkdisplay-win32.c	15 Aug 2004 15:08:58 -0000
@@ -81,31 +81,18 @@
 #endif
 
-  if (monitor_info.dwFlags & MONITORINFOF_PRIMARY)
-    {
-      /* For the primary monitor, use SPI_GETWORKAREA */
-      RECT rect;
-
-      SystemParametersInfo (SPI_GETWORKAREA, 0, &rect, 0);
-      monitor->x = rect.left;
-      monitor->y = rect.top;
-      monitor->width = rect.right - rect.left;
-      monitor->height = rect.bottom - rect.top;
+  monitor->x = monitor_info.rcMonitor.left;
+  monitor->y = monitor_info.rcMonitor.top;
+  monitor->width = monitor_info.rcMonitor.right - monitor_info.rcMonitor.left;
+  monitor->height = monitor_info.rcMonitor.bottom - monitor_info.rcMonitor.top;
 
+  if (monitor_info.dwFlags & MONITORINFOF_PRIMARY &&
+      *index != 0)
+    {
       /* Put primary monitor at index 0, just in case somebody needs
        * to know which one is the primary.
        */
-      if (*index != 0)
-	{
-	  GdkRectangle temp = *monitor;
-	  *monitor = _gdk_monitors[0];
-	  _gdk_monitors[0] = temp;
-	}
-    }
-  else
-    {
-      monitor->x = monitor_info.rcMonitor.left;
-      monitor->y = monitor_info.rcMonitor.top;
-      monitor->width = monitor_info.rcMonitor.right - monitor_info.rcMonitor.left;
-      monitor->height = monitor_info.rcMonitor.bottom - monitor_info.rcMonitor.top;
+      GdkRectangle temp = *monitor;
+      *monitor = _gdk_monitors[0];
+      _gdk_monitors[0] = temp;
     }
 
@@ -173,13 +160,16 @@
 #endif /* HAVE_MONITOR_INFO */
     {
-      RECT rect;
+      unsigned int width, height;
 
       _gdk_num_monitors = 1;
       _gdk_monitors = g_new (GdkRectangle, 1);
-      SystemParametersInfo (SPI_GETWORKAREA, 0, &rect, 0);
-      _gdk_monitors[0].x = rect.left;
-      _gdk_monitors[0].y = rect.top;
-      _gdk_monitors[0].width = rect.right - rect.left;
-      _gdk_monitors[0].height = rect.bottom - rect.top;
+
+      width = GetSystemMetrics (SM_CXSCREEN);
+      height = GetSystemMetrics (SM_CYSCREEN);
+
+      _gdk_monitors[0].x = 0;
+      _gdk_monitors[0].y = 0;
+      _gdk_monitors[0].width = width;
+      _gdk_monitors[0].height = height;
       _gdk_offset_x = 0;
       _gdk_offset_y = 0;
