diff --git a/src/gui/widgets/control.cpp b/src/gui/widgets/control.cpp index f087b393fc4..0e79a91cc34 100644 --- a/src/gui/widgets/control.cpp +++ b/src/gui/widgets/control.cpp @@ -314,9 +314,8 @@ void tcontrol::impl_draw_background(surface& frame_buffer) << " dirty " << get_dirty() << ".\n"; #endif - canvas(get_state()).draw(); - SDL_Rect rect = get_rect(); - SDL_BlitSurface(canvas(get_state()).surf(), NULL, frame_buffer, &rect); + + canvas(get_state()).blit(frame_buffer, get_rect()); } tpoint tcontrol::get_best_text_size(const tpoint& minimum_size, const tpoint& maximum_size) const diff --git a/src/gui/widgets/panel.cpp b/src/gui/widgets/panel.cpp index 7030d8aaf32..429c00843db 100644 --- a/src/gui/widgets/panel.cpp +++ b/src/gui/widgets/panel.cpp @@ -36,16 +36,12 @@ SDL_Rect tpanel::get_client_rect() const void tpanel::impl_draw_background(surface& frame_buffer) { - canvas(0).draw(); - SDL_Rect rect = get_rect(); - SDL_BlitSurface(canvas(0).surf(), NULL, frame_buffer, &rect); + canvas(0).blit(frame_buffer, get_rect()); } void tpanel::impl_draw_foreground(surface& frame_buffer) { - canvas(1).draw(); - SDL_Rect rect = get_rect(); - SDL_BlitSurface(canvas(1).surf(), NULL, frame_buffer, &rect); + canvas(1).blit(frame_buffer, get_rect()); } tpoint tpanel::border_space() const diff --git a/src/gui/widgets/settings.cpp b/src/gui/widgets/settings.cpp index 45804c9442f..2ee539b4c9f 100644 --- a/src/gui/widgets/settings.cpp +++ b/src/gui/widgets/settings.cpp @@ -855,7 +855,8 @@ tmulti_page_definition::tresolution::tresolution(const config& cfg) : */ // Add a dummy state since every widget needs a state. - state.push_back(tstate_definition(config("draw"))); + static config dummy ("draw"); + state.push_back(tstate_definition(dummy)); const config &child = cfg.child("grid"); VALIDATE(child, _("No grid defined."));