Please check modules\video_output\msw\directx.c
Posted: 30 Oct 2013 12:10
Hi.
I don't know this is fixd.
modules\video_output\msw\directx.c line 1430.
static BOOL WINAPI DirectXEnumCallback2(GUID *guid, LPTSTR desc,
LPTSTR drivername, VOID *data,
HMONITOR hmon)
{
enum_context_t *ctx = data;
VLC_UNUSED(guid); VLC_UNUSED(desc); VLC_UNUSED(hmon);
char *psz_drivername = FromT(drivername);
ctx->values = xrealloc(ctx->values, (ctx->count + 1) * sizeof(char *));
ctx->descs = xrealloc(ctx->descs, (ctx->count + 1) * sizeof(char *));
ctx->values[ctx->count] = psz_drivername; ---> I think psz_drivername is for descs. not values. I recommend strdup(drivername)
ctx->descs[ctx->count] = psz_drivername;
ctx->count++;
free(psz_drivername); ---> this is problem. it free in modules\gui\qt4\components\preferences_widgets.cpp
void StringListConfigControl::finish(module_config_t *p_module_config )
return TRUE; /* Keep enumerating */
}
Please check that.
Have a nice day.
I don't know this is fixd.
modules\video_output\msw\directx.c line 1430.
static BOOL WINAPI DirectXEnumCallback2(GUID *guid, LPTSTR desc,
LPTSTR drivername, VOID *data,
HMONITOR hmon)
{
enum_context_t *ctx = data;
VLC_UNUSED(guid); VLC_UNUSED(desc); VLC_UNUSED(hmon);
char *psz_drivername = FromT(drivername);
ctx->values = xrealloc(ctx->values, (ctx->count + 1) * sizeof(char *));
ctx->descs = xrealloc(ctx->descs, (ctx->count + 1) * sizeof(char *));
ctx->values[ctx->count] = psz_drivername; ---> I think psz_drivername is for descs. not values. I recommend strdup(drivername)
ctx->descs[ctx->count] = psz_drivername;
ctx->count++;
free(psz_drivername); ---> this is problem. it free in modules\gui\qt4\components\preferences_widgets.cpp
void StringListConfigControl::finish(module_config_t *p_module_config )
return TRUE; /* Keep enumerating */
}
Please check that.
Have a nice day.