forked from joejulian/gio
97299dc2f9
The gioui.org/commit/74407a50d598bfd27e8f8e48b6832cc5df04de77 added a NewImageOp constructor that always copies the supplied image. It does that for two reasons: First, the image.Image reference is used in the image=>texture map of cached textures. Without a copy, we wouldn't detect a modified image even if a new ImageOp was created. Second, we don't want the program to touch the image while the GPU is uploading it. The second reason was removed in a previous change that blocks FrameEvent.Frame until we're done with the operations, including uploading images to the GPU. The first reason is easily fixed by using a unique per ImageOp, as pointed out by Alessandro Arzilli. This change switches to using the unique key. Alessandro's patch avoids the copy when possible. Signed-off-by: Elias Naur <mail@eliasnaur.com>