Font: 'exist?' allows any object (returns false if not string)
This commit is contained in:
parent
6c9fbc1465
commit
cc0ab35f10
|
@ -33,8 +33,13 @@ RB_METHOD(fontDoesExist)
|
|||
{
|
||||
RB_UNUSED_PARAM;
|
||||
|
||||
const char *name;
|
||||
rb_get_args(argc, argv, "z", &name RB_ARG_END);
|
||||
const char *name = 0;
|
||||
VALUE nameObj;
|
||||
|
||||
rb_get_args(argc, argv, "o", &nameObj RB_ARG_END);
|
||||
|
||||
if (rb_type(nameObj) == RUBY_T_STRING)
|
||||
name = rb_string_value_cstr(&nameObj);
|
||||
|
||||
return rb_bool_new(Font::doesExist(name));
|
||||
}
|
||||
|
|
|
@ -30,8 +30,13 @@ DEF_TYPE(Font);
|
|||
|
||||
MRB_FUNCTION(fontDoesExist)
|
||||
{
|
||||
const char *name;
|
||||
mrb_get_args(mrb, "z", &name);
|
||||
const char *name = 0;
|
||||
mrb_value nameObj;
|
||||
|
||||
mrb_get_args(mrb, "o", &nameObj);
|
||||
|
||||
if (mrb_string_p(nameObj))
|
||||
name = mrb_string_value_cstr(mrb, &nameObj);
|
||||
|
||||
return mrb_bool_value(Font::doesExist(name));
|
||||
}
|
||||
|
|
|
@ -247,6 +247,9 @@ Color FontPrivate::defaultColorTmp(255, 255, 255, 255);
|
|||
|
||||
bool Font::doesExist(const char *name)
|
||||
{
|
||||
if (!name)
|
||||
return false;
|
||||
|
||||
return shState->fontState().fontPresent(name);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue