Index: uspace/app/nav/panel.c
===================================================================
--- uspace/app/nav/panel.c	(revision 5e221a77afdb55cbcc7a6c1bb455d9f2af8392e9)
+++ uspace/app/nav/panel.c	(revision 1455ea135f8a8b4b2f2d80e74d51194031b68501)
@@ -207,9 +207,23 @@
 		return rc;
 
+	/*
+	 * Make sure name does not overflow the entry rectangle.
+	 *
+	 * XXX We probably want to measure the text width, and,
+	 * if it's too long, use gfx_text_find_pos() to find where
+	 * it should be cut off (and append some sort of overflow
+	 * marker.
+	 */
+	rc = gfx_set_clip_rect(gc, &rect);
+	if (rc != EOK)
+		return rc;
+
 	rc = gfx_puttext(font, &pos, &fmt, entry->name);
-	if (rc != EOK)
-		return rc;
-
-	return EOK;
+	if (rc != EOK) {
+		(void) gfx_set_clip_rect(gc, NULL);
+		return rc;
+	}
+
+	return gfx_set_clip_rect(gc, NULL);
 }
 
