mirror of https://github.com/mpv-player/mpv
cocoa: sanitize window title string and guard against NULL
If the utf8 string used to create the NSString for title was invalid utf8, -stringWithUTF8String returned nil and triggered an assertion in Cocoa's framework code. Sanitize the utf8 string and if the sanitation wasn't enough just avoid crashing by not setting a title. Fixes #406
This commit is contained in:
parent
7d553a4c26
commit
a410a750c7
|
@ -349,7 +349,12 @@ static int create_gl_context(struct vo *vo, int gl3profile)
|
|||
static void cocoa_set_window_title(struct vo *vo, const char *title)
|
||||
{
|
||||
struct vo_cocoa_state *s = vo->cocoa;
|
||||
[s->window setTitle: [NSString stringWithUTF8String:title]];
|
||||
void *talloc_ctx = talloc_new(NULL);
|
||||
struct bstr btitle = bstr_sanitize_utf8_latin1(talloc_ctx, bstr0(title));
|
||||
NSString *nstitle = [NSString stringWithUTF8String:btitle.start];
|
||||
if (nstitle)
|
||||
[s->window setTitle: nstitle];
|
||||
talloc_free(talloc_ctx);
|
||||
}
|
||||
|
||||
static void update_window(struct vo *vo, int d_width, int d_height)
|
||||
|
|
Loading…
Reference in New Issue