--- old-msw_style.c	Tue Feb 08 16:02:23 2005
+++ msw_style.c	Tue Feb 08 16:42:30 2005
@@ -879,9 +879,15 @@
     }
   else
     {
-      if (!xp_theme_draw(window, shadow == GTK_SHADOW_IN
-			 ? XP_THEME_ELEMENT_PRESSED_CHECKBOX
-			 : XP_THEME_ELEMENT_CHECKBOX,
+        GtkToggleButton  *togglebutton = GTK_TOGGLE_BUTTON(widget);
+        XpThemeElement theme_elt; 
+        if (gtk_toggle_button_get_inconsistent(togglebutton))
+            theme_elt=XP_THEME_ELEMENT_INCONSISTENT_CHECKBOX;
+        else if (gtk_toggle_button_get_active(togglebutton))
+            theme_elt = XP_THEME_ELEMENT_PRESSED_CHECKBOX;
+        else
+            theme_elt = XP_THEME_ELEMENT_CHECKBOX;
+      if (!xp_theme_draw(window, theme_elt,
 			 style, x, y, width, height, state, area))
         {
           draw_part (window, style->black_gc, area, x, y, CHECK_BLACK);
--- old-xp_theme.c	Tue Feb 08 15:50:47 2005
+++ xp_theme.c	Tue Feb 08 16:54:43 2005
@@ -71,6 +71,7 @@
 {
   BP_CHECKBOX,
   BP_CHECKBOX,
+  BP_CHECKBOX,
   BP_PUSHBUTTON,
   HP_HEADERITEM,
   CP_DROPDOWNBUTTON,
@@ -254,6 +255,7 @@
       break;
 
     case XP_THEME_ELEMENT_PRESSED_CHECKBOX:
+    case XP_THEME_ELEMENT_INCONSISTENT_CHECKBOX:
     case XP_THEME_ELEMENT_CHECKBOX:
     case XP_THEME_ELEMENT_BUTTON:
     case XP_THEME_ELEMENT_DEFAULT_BUTTON:
@@ -536,6 +538,23 @@
           ret =  CBS_CHECKEDNORMAL;
         }
       break;
+      
+      case XP_THEME_ELEMENT_INCONSISTENT_CHECKBOX:
+      switch( state)
+      {
+        case GTK_STATE_SELECTED:
+         ret =  CBS_MIXEDPRESSED;
+         break;
+        case GTK_STATE_PRELIGHT:
+         ret =  CBS_MIXEDHOT;
+         break;
+        case GTK_STATE_INSENSITIVE:
+         ret =  CBS_MIXEDDISABLED;
+         break;
+        default:
+         ret =  CBS_MIXEDNORMAL;
+        }
+        break;
 
     XP_THEME_ELEMENT_DEFAULT_BUTTON:
       switch(state)
--- old-xp_theme.h	Tue Feb 08 16:56:50 2005
+++ xp_theme.h	Tue Feb 08 16:45:58 2005
@@ -49,6 +49,7 @@
 typedef enum
 {
   XP_THEME_ELEMENT_PRESSED_CHECKBOX = 0,
+  XP_THEME_ELEMENT_INCONSISTENT_CHECKBOX ,
   XP_THEME_ELEMENT_CHECKBOX,
   XP_THEME_ELEMENT_BUTTON,
   XP_THEME_ELEMENT_LIST_HEADER,
@@ -89,7 +90,7 @@
   XP_THEME_ELEMENT_MENU_SEPARATOR,
   XP_THEME_ELEMENT_STATUS_GRIPPER,
   XP_THEME_ELEMENT_STATUS_PANE,
-  XP_THEME_ELEMENT__SIZEOF
+  XP_THEME_ELEMENT__SIZEOF,
 } XpThemeElement;
 
 typedef enum
