aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--src/sato-draw-cairo.c24
-rw-r--r--src/sato-draw.c25
3 files changed, 31 insertions, 25 deletions
diff --git a/ChangeLog b/ChangeLog
index 110eef0..10b77bb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2008-02-08 Thomas Wood <thomas@openedhand.com>
+ * src/sato-draw-cairo.c: (sato_draw_box):
+ * src/sato-draw.c: (sato_draw_box):
+
+ Fix prelight removal hack
+
+2008-02-08 Thomas Wood <thomas@openedhand.com>
+
* src/sato-draw.c: (sato_draw_option): Fix option drawing to match check
box theming
diff --git a/src/sato-draw-cairo.c b/src/sato-draw-cairo.c
index d66c31f..0d623a3 100644
--- a/src/sato-draw-cairo.c
+++ b/src/sato-draw-cairo.c
@@ -75,22 +75,22 @@ sato_draw_box (DRAW_ARGS)
/* hack to remove PRELIGHT state */
if (!DETAIL ("menuitem") && state_type == GTK_STATE_PRELIGHT)
{
- if (GTK_IS_BUTTON (widget) && (gtk_button_get_relief (GTK_BUTTON (widget)) == GTK_RELIEF_NONE))
+ if (widget && GTK_IS_TOGGLE_BUTTON (widget) && shadow_type == GTK_SHADOW_IN)
{
- if (GTK_IS_TOGGLE_BUTTON (widget)
- && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
- {
- state_type = GTK_STATE_ACTIVE;
- }
- else
- {
- /* none relief buttons shouldn't draw anything for "normal" state */
- return;
- }
+ state_type = GTK_STATE_ACTIVE;
}
else
{
- state_type = GTK_STATE_NORMAL;
+ if (widget && GTK_IS_BUTTON (widget)
+ && (gtk_button_get_relief (GTK_BUTTON (widget)) == GTK_RELIEF_NONE))
+ {
+ /* none relief buttons shouldn't draw anything for "normal" state */
+ return;
+ }
+ else
+ {
+ state_type == GTK_STATE_NORMAL;
+ }
}
}
diff --git a/src/sato-draw.c b/src/sato-draw.c
index 073061a..3167182 100644
--- a/src/sato-draw.c
+++ b/src/sato-draw.c
@@ -176,26 +176,25 @@ sato_draw_box (DRAW_ARGS)
/* hack to remove PRELIGHT state */
if (!DETAIL ("menuitem") && state_type == GTK_STATE_PRELIGHT)
{
- if (GTK_IS_BUTTON (widget) && (gtk_button_get_relief (GTK_BUTTON (widget)) == GTK_RELIEF_NONE))
+ if (widget && GTK_IS_TOGGLE_BUTTON (widget) && shadow_type == GTK_SHADOW_IN)
{
- if (GTK_IS_TOGGLE_BUTTON (widget)
- && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
- {
- state_type = GTK_STATE_ACTIVE;
- }
- else
- {
- /* none relief buttons shouldn't draw anything for "normal" state */
- return;
- }
+ state_type = GTK_STATE_ACTIVE;
}
else
{
- state_type = GTK_STATE_NORMAL;
+ if (widget && GTK_IS_BUTTON (widget)
+ && (gtk_button_get_relief (GTK_BUTTON (widget)) == GTK_RELIEF_NONE))
+ {
+ /* none relief buttons shouldn't draw anything for "normal" state */
+ return;
+ }
+ else
+ {
+ state_type == GTK_STATE_NORMAL;
+ }
}
}
-
SANITIZE_SIZE;