[X2Go-Commits] [pale-moon] 15/22: Update dimensions early in ClearTarget.
git-admin at x2go.org
git-admin at x2go.org
Sat Sep 29 03:25:23 CEST 2018
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch upstream/palemoon-master
in repository pale-moon.
commit 1abb23fdfaef17697209632b410a5432f72a71ed
Author: Pale Moon <git-repo at palemoon.org>
Date: Sun Jul 1 14:20:57 2018 +0200
Update dimensions early in ClearTarget.
---
dom/canvas/CanvasRenderingContext2D.cpp | 14 +++++++++-----
dom/canvas/CanvasRenderingContext2D.h | 5 ++++-
2 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/dom/canvas/CanvasRenderingContext2D.cpp b/dom/canvas/CanvasRenderingContext2D.cpp
index 1b44c82..8c202f2 100644
--- a/dom/canvas/CanvasRenderingContext2D.cpp
+++ b/dom/canvas/CanvasRenderingContext2D.cpp
@@ -1435,8 +1435,6 @@ CanvasRenderingContext2D::GetHeight() const
NS_IMETHODIMP
CanvasRenderingContext2D::SetDimensions(int32_t width, int32_t height)
{
- ClearTarget();
-
// Zero sized surfaces can cause problems.
mZero = false;
if (height == 0) {
@@ -1447,14 +1445,14 @@ CanvasRenderingContext2D::SetDimensions(int32_t width, int32_t height)
width = 1;
mZero = true;
}
- mWidth = width;
- mHeight = height;
+ ClearTarget(width, height);
+
return NS_OK;
}
void
-CanvasRenderingContext2D::ClearTarget()
+CanvasRenderingContext2D::ClearTarget(int32_t aWidth, int32_t aHeight)
{
Reset();
@@ -1473,6 +1471,12 @@ CanvasRenderingContext2D::ClearTarget()
state->colorStyles[Style::STROKE] = NS_RGB(0,0,0);
state->shadowColor = NS_RGBA(0,0,0,0);
+ // Update dimensions only if new (strictly positive) values were passed.
+ if (aWidth > 0 && aHeight > 0) {
+ mWidth = aWidth;
+ mHeight = aHeight;
+ }
+
// For vertical writing-mode, unless text-orientation is sideways,
// we'll modify the initial value of textBaseline to 'middle'.
nsRefPtr<nsStyleContext> canvasStyle;
diff --git a/dom/canvas/CanvasRenderingContext2D.h b/dom/canvas/CanvasRenderingContext2D.h
index 512c212..2f0f515 100644
--- a/dom/canvas/CanvasRenderingContext2D.h
+++ b/dom/canvas/CanvasRenderingContext2D.h
@@ -704,8 +704,11 @@ protected:
/**
* Disposes an old target and prepares to lazily create a new target.
+ *
+ * Parameters are the new dimensions to be used.
+ * if either is negative or undefined, dimensions will remain unchanged.
*/
- void ClearTarget();
+ void ClearTarget(int32_t aWidth = -1, int32_t aHeight = -1);
/**
* Check if the target is valid after calling EnsureTarget.
--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/pale-moon.git
More information about the x2go-commits
mailing list