]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - vid_glx.c
try to cache fewer animations for entities when r_shadows is used by using cull box
[xonotic/darkplaces.git] / vid_glx.c
index e51daa153e49bda2281ccc4d6da554d209f6a093..01d2486be4d5a0e09d1aa764b2aab474179f31f5 100644 (file)
--- 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