Review fixes

This commit is contained in:
Julien Richard 2022-01-16 10:19:50 +01:00
commit 66703b5ae3
3 changed files with 20 additions and 16 deletions

View file

@ -186,7 +186,8 @@ namespace Greenshot.Editor.Drawing
var rotationAngle = GetRotationAngle(); var rotationAngle = GetRotationAngle();
if (rotationAngle != 0) if (rotationAngle != 0)
{ {
graphics.DrawImage(RotateImage(bitmap, rotationAngle), Bounds); using var newBitmap = RotateImage(bitmap, rotationAngle);
graphics.DrawImage(RotateImage(newBitmap, rotationAngle), Bounds);
return; return;
} }

View file

@ -179,19 +179,22 @@ namespace Greenshot.Editor.Drawing
/// <param name="matrix"></param> /// <param name="matrix"></param>
public override void Transform(Matrix matrix) public override void Transform(Matrix matrix)
{ {
if (image != null) if (image == null)
{ {
int rotateAngle = CalculateAngle(matrix); base.Transform(matrix);
// we currently assume only one transformation has been made. return;
if (rotateAngle != 0) }
int rotateAngle = CalculateAngle(matrix);
// we currently assume only one transformation has been made.
if (rotateAngle != 0)
{
Log.DebugFormat("Rotating element with {0} degrees.", rotateAngle);
DisposeShadow();
using var tmpMatrix = new Matrix();
using (image)
{ {
Log.DebugFormat("Rotating element with {0} degrees.", rotateAngle); image = ImageHelper.ApplyEffect(image, new RotateEffect(rotateAngle), tmpMatrix);
DisposeShadow();
using var tmpMatrix = new Matrix();
using (image)
{
image = ImageHelper.ApplyEffect(image, new RotateEffect(rotateAngle), tmpMatrix);
}
} }
} }

View file

@ -65,6 +65,8 @@ namespace Greenshot.Editor.Forms
private static readonly List<IImageEditor> EditorList = new List<IImageEditor>(); private static readonly List<IImageEditor> EditorList = new List<IImageEditor>();
private static bool? _emojifontInstalled;
private Surface _surface; private Surface _surface;
private GreenshotToolStripButton[] _toolbarButtons; private GreenshotToolStripButton[] _toolbarButtons;
@ -190,10 +192,8 @@ namespace Greenshot.Editor.Forms
private void HideEmojiButtonWhenFontIsNotInstalled() private void HideEmojiButtonWhenFontIsNotInstalled()
{ {
if (!FontFamily.Families.Any(f => string.Equals(f.Name, "Segoe UI Emoji", StringComparison.OrdinalIgnoreCase))) _emojifontInstalled ??= FontFamily.Families.Any(f => string.Equals(f.Name, "Segoe UI Emoji", StringComparison.OrdinalIgnoreCase));
{ btnEmoji.Visible = _emojifontInstalled.Value;
btnEmoji.Visible = false;
}
} }
/// <summary> /// <summary>