CoolPlayer seems to load the Time bitmap as the same
bitmap as the Track Numbers after loading the default
skin.
The Time display uses the same bitmap as the Track
Numbers bitmap when loading a skin after loading the
default skin.
When the CoolPlayer is run with a skin already loaded
from last time, the Time bitmap works fine. It only
changes to the Track Number bitmap after the default
skin is loaded (skin switch to default skin) and then
the skin is reloaded.
Could this problem be fixed not only in the latest
release, but also updated in all releases 200 to 215
please?
The problem is easily identifiable with the skin Dark
Console that can be found on the Internet.
(http://www.customize.org/details/39714)
If you are able to fix this bug, could you please
email me with info about the fix?
Thanks,
Luke
Logged In: YES
user_id=1404516
Could this problem be fixed not only in the latest release,
but also updated in all releases 200 to 215 please?
The clean way to fix this bug:
// Comment out the following line (delete)
// graphics.bmp_main_switch = graphics.bmp_main_down;
// Add the following lines
graphics.bmp_main_switch =
(HBITMAP) LoadImage(hInstance, MAKEINTRESOURCE
(IDB_MAINDOWN),
IMAGE_BITMAP, 0, 0,
LR_CREATEDIBSECTION);
// Comment out the following line (delete)
// graphics.bmp_main_track_font =
graphics.bmp_main_time_font;
// Add the following lines
graphics.bmp_main_track_font =
(HBITMAP) LoadImage(hInstance, MAKEINTRESOURCE
(IDB_MAINBIGFONT),
IMAGE_BITMAP, 0, 0,
LR_CREATEDIBSECTION);
It is when the graphics.bmp_main_track_font =
graphics.bmp_main_time_font; in the main_set_default_skin()
funciton.
main_set_default_skin(void)
{
--------
// The following line probably generates an error when
a new skin is selected.
// The graphics.bmp_main_switch will need to be set to
NULL before the
// graphics.bmp_main_down is deleted.
// Otherwise, they will both point to the same
// place in memory and they will both be the same.
graphics.bmp_main_switch = graphics.bmp_main_down;
--------
// The following line generates an error when a new
skin is selected.
// The graphics.bmp_main_track_font will need to be set
to NULL before the
// graphics.bmp_main_time_font is deleted.
// Otherwise, they will both point to the same
// place in memory and they will both be the same.
graphics.bmp_main_track_font =
graphics.bmp_main_time_font;
--------
}
The messy way to fix this bug:
In the function "int main_skin_open(char *name)"
// if(globals.main_bool_skin_next_is_default == TRUE)
// sort of
// If the previous skin was the default skin,
// where graphics.bmp_main_switch =
graphics.bmp_main_down;
if(graphics.bmp_main_switch == graphics.bmp_main_down)
graphics.bmp_main_switch = NULL; // This
line must come before...
DeleteObject(graphics.bmp_main_down); // ...this
line
--------
// if(globals.main_bool_skin_next_is_default == TRUE)
// sort of
// If the previous skin was the default skin,
// where graphics.bmp_main_track_font =
graphics.bmp_main_time_font;
if(graphics.bmp_main_track_font ==
graphics.bmp_main_time_font)
graphics.bmp_main_track_font = NULL; // This
line must come before...
DeleteObject(graphics.bmp_main_time_font); // ...this
line