X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=vid_glx.c;h=01d2486be4d5a0e09d1aa764b2aab474179f31f5;hb=c03ddda1e107e8483568d3d65c10df51ef556ee5;hp=e51daa153e49bda2281ccc4d6da554d209f6a093;hpb=a0a0b2f57ac70deb464697b9aa0d68370c64cc52;p=xonotic%2Fdarkplaces.git diff --git a/vid_glx.c b/vid_glx.c index e51daa15..01d2486b 100644 --- a/vid_glx.c +++ b/vid_glx.c @@ -154,6 +154,7 @@ void DP_Xutf8LookupString(XKeyEvent * ev, *status_return = XLookupKeySym; *keysym_return = keysym; } + *uch = 0; return; } @@ -1015,6 +1016,9 @@ qboolean VID_InitMode(viddef_mode_t *mode) } XmbSetWMProperties(vidx11_display, win, gamename, gamename, (char **) com_argv, com_argc, szhints, wmhints, clshints); + // strdup() allocates using malloc(), should be freed with free() + free(clshints->res_name); + free(clshints->res_class); XFree(clshints); XFree(wmhints); XFree(szhints); @@ -1041,6 +1045,7 @@ qboolean VID_InitMode(viddef_mode_t *mode) //XSync(vidx11_display, False); ctx = qglXCreateContext(vidx11_display, visinfo, NULL, True); + XFree(visinfo); // glXChooseVisual man page says to use XFree to free visinfo if (!ctx) { Con_Printf ("glXCreateContext failed\n"); @@ -1152,6 +1157,8 @@ size_t VID_ListModes(vid_mode_t *modes, size_t maxcount) ++k; } } + // manpage of XF86VidModeGetAllModeLines says it should be freed by the caller + XFree(vidmodes); return k; } return 0; // FIXME implement this