fix mem leaks/crashes

This commit is contained in:
Dana Jansens 2003-07-27 19:57:38 +00:00
parent 2eb5721416
commit 632b2af7a8
2 changed files with 22 additions and 6 deletions

View file

@ -184,12 +184,18 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
"window.button.pressed.focus.picColor",
&theme->titlebut_focused_pressed_color))
theme->titlebut_focused_pressed_color =
theme->titlebut_focused_unpressed_color;
RrColorNew(inst,
theme->titlebut_focused_unpressed_color->r,
theme->titlebut_focused_unpressed_color->g,
theme->titlebut_focused_unpressed_color->b);
if (!read_color(db, inst,
"window.button.pressed.unfocus.picColor",
&theme->titlebut_unfocused_pressed_color))
theme->titlebut_unfocused_pressed_color =
theme->titlebut_unfocused_unpressed_color;
RrColorNew(inst,
theme->titlebut_unfocused_unpressed_color->r,
theme->titlebut_unfocused_unpressed_color->g,
theme->titlebut_unfocused_unpressed_color->b);
if (!read_color(db, inst,
"window.button.disabled.focus.picColor",
&theme->titlebut_disabled_focused_color))
@ -198,17 +204,23 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name)
if (!read_color(db, inst,
"window.button.disabled.unfocus.picColor",
&theme->titlebut_disabled_unfocused_color))
theme->titlebut_hover_unfocused_color = RrColorNew(inst, 0, 0, 0);
theme->titlebut_disabled_unfocused_color = RrColorNew(inst, 0, 0, 0);
if (!read_color(db, inst,
"window.button.hover.focus.picColor",
&theme->titlebut_hover_focused_color))
theme->titlebut_hover_focused_color =
theme->titlebut_focused_unpressed_color;
RrColorNew(inst,
theme->titlebut_focused_unpressed_color->r,
theme->titlebut_focused_unpressed_color->g,
theme->titlebut_focused_unpressed_color->b);
if (!read_color(db, inst,
"window.button.hover.unfocus.picColor",
&theme->titlebut_hover_unfocused_color))
theme->titlebut_hover_unfocused_color =
theme->titlebut_unfocused_unpressed_color;
RrColorNew(inst,
theme->titlebut_unfocused_unpressed_color->r,
theme->titlebut_unfocused_unpressed_color->g,
theme->titlebut_unfocused_unpressed_color->b);
if (!read_color(db, inst,
"menu.title.textColor", &theme->menu_title_color))
theme->menu_title_color = RrColorNew(inst, 0, 0, 0);
@ -694,6 +706,10 @@ void RrThemeFree(RrTheme *theme)
RrColorFree(theme->cb_focused_color);
RrColorFree(theme->title_unfocused_color);
RrColorFree(theme->title_focused_color);
RrColorFree(theme->titlebut_disabled_focused_color);
RrColorFree(theme->titlebut_disabled_unfocused_color);
RrColorFree(theme->titlebut_hover_focused_color);
RrColorFree(theme->titlebut_hover_unfocused_color);
RrColorFree(theme->titlebut_unfocused_pressed_color);
RrColorFree(theme->titlebut_focused_pressed_color);
RrColorFree(theme->titlebut_unfocused_unpressed_color);

View file

@ -29,7 +29,7 @@ struct _RrTheme {
RrColor *title_focused_color;
RrColor *title_unfocused_color;
RrColor *titlebut_disabled_focused_color;
RrColor *titlebut_disabled_unfocused_color;
RrColor *titlebut_disabled_unfocused_color;
RrColor *titlebut_hover_focused_color;
RrColor *titlebut_hover_unfocused_color;
RrColor *titlebut_focused_pressed_color;