private void SetImage() { Gdk.Pixbuf pbuf = DockServices.Drawing.EmptyPixbuf; try { if (OwnedObject.ForcePixbuf != null) { pbuf = OwnedObject.ForcePixbuf.Copy(); if (pbuf.Width != IconSize || pbuf.Height != IconSize) { pbuf = pbuf.ARScale(IconSize, IconSize); } } else { pbuf = DockServices.Drawing.LoadIcon(OwnedObject.Icon, IconSize); } pbuf.AddHueShift(OwnedObject.HueShift); if (!OwnedObject.Enabled) { pbuf.MonochromePixbuf(); } } catch (Exception e) { Log <Tile> .Error("Error loading pixbuf for {0} tile: {1}", OwnedObject.Name, e.Message); Log <Tile> .Debug(e.StackTrace); pbuf = DockServices.Drawing.EmptyPixbuf; } finally { tileImage.Pixbuf = pbuf; pbuf.Dispose(); tileImage.Show(); } }