From 8a93f2ff7a4bbebea08ec0822e1441f5b3750341 Mon Sep 17 00:00:00 2001 From: Raymond Penners Date: Tue, 7 Oct 2003 18:56:57 +0000 Subject: [PATCH] Fixes --- modules/engines/ms-windows/ChangeLog.old | 3 +++ modules/engines/ms-windows/wimp_style.c | 21 ++++++++++---------- modules/engines/ms-windows/wimp_style.h | 2 +- modules/engines/ms-windows/wimp_theme_main.c | 9 ++++----- modules/engines/ms-windows/xp_theme.c | 3 +-- 5 files changed, 20 insertions(+), 18 deletions(-) diff --git a/modules/engines/ms-windows/ChangeLog.old b/modules/engines/ms-windows/ChangeLog.old index 2d85003f5c..44cfc1b88c 100755 --- a/modules/engines/ms-windows/ChangeLog.old +++ b/modules/engines/ms-windows/ChangeLog.old @@ -1,5 +1,8 @@ 2003-10-07 Raymond Penners + * src/wimp_style.c: Tabs not located on top of the notebook are + now (again) no longer rendered using XP theming. + * src/xp_theme.c: We now properly use IsThemeActive(). * src/xp_theme_defs.h: Renamed from xp_theme_dfns.h diff --git a/modules/engines/ms-windows/wimp_style.c b/modules/engines/ms-windows/wimp_style.c index a8706b0a88..d3e3c6038b 100755 --- a/modules/engines/ms-windows/wimp_style.c +++ b/modules/engines/ms-windows/wimp_style.c @@ -264,7 +264,7 @@ setup_menu_settings (void) } void -setup_system_settings (void) +wimp_style_setup_system_settings (void) { GtkSettings * settings; int cursor_blink_time; @@ -1363,11 +1363,12 @@ draw_extension(GtkStyle *style, height -= XP_EDGE_SIZE; #endif - if (xp_theme_draw (window, - gtk_notebook_get_current_page(notebook)==0 - ? XP_THEME_ELEMENT_TAB_ITEM_LEFT_EDGE - : XP_THEME_ELEMENT_TAB_ITEM, - style, x, y, width, height, state_type, area)) + if (pos_type == GTK_POS_TOP + && xp_theme_draw + (window, gtk_notebook_get_current_page(notebook)==0 + ? XP_THEME_ELEMENT_TAB_ITEM_LEFT_EDGE + : XP_THEME_ELEMENT_TAB_ITEM, + style, x, y, width, height, state_type, area)) { return; } @@ -1588,9 +1589,9 @@ wimp_style_register_type (GTypeModule *module) } void -wimp_init (void) +wimp_style_init (void) { - xp_theme_init (); - setup_system_settings (); - setup_wimp_rc_style (); + xp_theme_init (); + wimp_style_setup_system_settings (); + setup_wimp_rc_style (); } diff --git a/modules/engines/ms-windows/wimp_style.h b/modules/engines/ms-windows/wimp_style.h index 873841a040..691d5dfde4 100755 --- a/modules/engines/ms-windows/wimp_style.h +++ b/modules/engines/ms-windows/wimp_style.h @@ -49,6 +49,6 @@ struct _WimpStyleClass void wimp_style_register_type (GTypeModule *module); void wimp_style_init (void); -void setup_system_settings (void); +void wimp_style_setup_system_settings (void); #endif /* WIMP_TYPE_STYLE */ diff --git a/modules/engines/ms-windows/wimp_theme_main.c b/modules/engines/ms-windows/wimp_theme_main.c index 1147be7e4c..64ef40201c 100755 --- a/modules/engines/ms-windows/wimp_theme_main.c +++ b/modules/engines/ms-windows/wimp_theme_main.c @@ -36,7 +36,6 @@ * WM_STYLECHANGED * WM_PALETTECHANGED */ - static GdkFilterReturn global_filter_func (void *xevent, GdkEvent *event, @@ -51,7 +50,7 @@ global_filter_func (void *xevent, case WM_THEMECHANGED: case WM_SYSCOLORCHANGE: xp_theme_exit(); - wimp_init (); + wimp_style_init (); /* force all gtkwidgets to redraw */ gtk_rc_reparse_all_for_settings (gtk_settings_get_default(), TRUE); @@ -59,7 +58,8 @@ global_filter_func (void *xevent, #endif case WM_SETTINGCHANGE: - setup_system_settings (); /* catch cursor blink, etc... changes */ + /* catch cursor blink, etc... changes */ + wimp_style_setup_system_settings (); return GDK_FILTER_REMOVE; default: @@ -72,8 +72,7 @@ theme_init (GTypeModule *module) { wimp_rc_style_register_type (module); wimp_style_register_type (module); - - wimp_init (); + wimp_style_init (); gdk_window_add_filter (NULL, global_filter_func, NULL); } diff --git a/modules/engines/ms-windows/xp_theme.c b/modules/engines/ms-windows/xp_theme.c index e4aacf911b..886f197ddf 100755 --- a/modules/engines/ms-windows/xp_theme.c +++ b/modules/engines/ms-windows/xp_theme.c @@ -139,7 +139,6 @@ void xp_theme_exit(void) { int i; - if (! uxtheme_dll) return; @@ -592,7 +591,7 @@ xp_theme_draw(GdkWindow *win, XpThemeElement element, GtkStyle *style, GdkDrawable *drawable; int part_state; - if (!uxtheme_dll) + if (! xp_theme_is_drawable (element)) return FALSE; theme = xp_theme_get_handle_by_element(element);