diff --git a/glfw/x11_window.c b/glfw/x11_window.c index 8a3a12b5e..0a007d841 100644 --- a/glfw/x11_window.c +++ b/glfw/x11_window.c @@ -2735,8 +2735,9 @@ void _glfwPlatformSetCursor(_GLFWwindow* window, _GLFWcursor* cursor UNUSED) void _glfwPlatformSetClipboardString(const char* string) { + char* copy = _glfw_strdup(string); free(_glfw.x11.clipboardString); - _glfw.x11.clipboardString = _glfw_strdup(string); + _glfw.x11.clipboardString = copy; XSetSelectionOwner(_glfw.x11.display, _glfw.x11.CLIPBOARD,