Index: uspace/lib/ui/src/image.c
===================================================================
--- uspace/lib/ui/src/image.c	(revision 66a2becf49f1f530dd13dbf6fc8236890fb7f907)
+++ uspace/lib/ui/src/image.c	(revision 2c9fdeedc215dcd9caf895b28b729baafa0f3971)
@@ -134,4 +134,7 @@
 	gfx_coord2_t offs;
 
+	if (image->bitmap == NULL)
+		return EOK;
+
 	/*
 	 * UI image position does not depend on bitmap rectangle p0, so
@@ -149,4 +152,21 @@
 }
 
+/** Change image bitmap.
+ *
+ * Note that the caller must have saved the pointer to the previous bitmap
+ * in the image, because this causes it to be unlinked from the image and
+ * not destroyed (the ownership is transferred back to the caller).
+ *
+ * @param image Image
+ * @param bitmap New bitmap (ownership transferred to image) or @c NULL
+ * @param brect New bitmap rectangle
+ */
+void ui_image_set_bmp(ui_image_t *image, gfx_bitmap_t *bitmap,
+    gfx_rect_t *brect)
+{
+	image->bitmap = bitmap;
+	image->brect = *brect;
+}
+
 /** Destroy image control.
  *
