From 7800b1474986d6837ca87b8dc67465140c4d75f0 Mon Sep 17 00:00:00 2001 From: Glenn Watson Date: Mon, 27 Oct 2014 14:54:21 +1000 Subject: [PATCH] Fix bad memory being passed (due to going out of scope) to set title on X11. --- src/x11/window/mod.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/x11/window/mod.rs b/src/x11/window/mod.rs index 99cbf9dc..c2381fda 100644 --- a/src/x11/window/mod.rs +++ b/src/x11/window/mod.rs @@ -168,7 +168,8 @@ impl Window { let mut wm_delete_window = ffi::XInternAtom(display, "WM_DELETE_WINDOW".to_c_str().as_ptr() as *const libc::c_char, 0); ffi::XSetWMProtocols(display, window, &mut wm_delete_window, 1); - ffi::XStoreName(display, window, mem::transmute(builder.title.as_slice().as_ptr())); + let c_title = builder.title.to_c_str(); + ffi::XStoreName(display, window, c_title.as_ptr()); ffi::XFlush(display); wm_delete_window @@ -277,9 +278,10 @@ impl Window { } pub fn set_title(&self, title: &str) { + let c_title = title.to_c_str(); unsafe { - ffi::XStoreName(self.display, self.window, - mem::transmute(title.as_slice().as_ptr())); + ffi::XStoreName(self.display, self.window, c_title.as_ptr()); + ffi::XFlush(self.display); } }