diff --git a/src/gtk/dcclient.cpp b/src/gtk/dcclient.cpp index 509f84f230..6f377fde56 100644 --- a/src/gtk/dcclient.cpp +++ b/src/gtk/dcclient.cpp @@ -1060,20 +1060,9 @@ void wxWindowDC::DoDrawBitmap( const wxBitmap &bitmap, } // scale bitmap if required - wxBitmap use_bitmap; + wxBitmap use_bitmap = bitmap; if ((w != ww) || (h != hh)) - { - wxImage image = bitmap.ConvertToImage(); - image.Rescale( ww, hh ); - if (is_mono) - use_bitmap = wxBitmap(image.ConvertToMono(255,255,255), 1); - else - use_bitmap = wxBitmap(image); - } - else - { - use_bitmap = bitmap; - } + use_bitmap = use_bitmap.Rescale( 0, 0, ww, hh, ww, hh ); // apply mask if any GdkBitmap *mask = (GdkBitmap *) NULL; diff --git a/src/gtk1/dcclient.cpp b/src/gtk1/dcclient.cpp index 509f84f230..6f377fde56 100644 --- a/src/gtk1/dcclient.cpp +++ b/src/gtk1/dcclient.cpp @@ -1060,20 +1060,9 @@ void wxWindowDC::DoDrawBitmap( const wxBitmap &bitmap, } // scale bitmap if required - wxBitmap use_bitmap; + wxBitmap use_bitmap = bitmap; if ((w != ww) || (h != hh)) - { - wxImage image = bitmap.ConvertToImage(); - image.Rescale( ww, hh ); - if (is_mono) - use_bitmap = wxBitmap(image.ConvertToMono(255,255,255), 1); - else - use_bitmap = wxBitmap(image); - } - else - { - use_bitmap = bitmap; - } + use_bitmap = use_bitmap.Rescale( 0, 0, ww, hh, ww, hh ); // apply mask if any GdkBitmap *mask = (GdkBitmap *) NULL;