summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Persch <chpe@src.gnome.org>2008-10-20 22:03:28 +0000
committerChristian Persch <chpe@src.gnome.org>2008-10-20 22:03:28 +0000
commit90ff11dccc9ec8649bfff0b0f6798d51d3b2eaf1 (patch)
treea65d6d7ae5ad5fe1b1211697e529e9c32d1d6f56
parentff8775eab76b129234f23c0da035ad1aa6b6e854 (diff)
downloadepiphany-RELEASE_2_24_1.tar.gz
Try to fix crash on zoom change. Bug #525357, patch by Mike Hommey.RELEASE_2_24_1
svn path=/branches/gnome-2-24/; revision=8594
-rw-r--r--embed/mozilla/EphyBrowser.cpp13
-rw-r--r--embed/mozilla/EphyBrowser.h1
2 files changed, 12 insertions, 2 deletions
diff --git a/embed/mozilla/EphyBrowser.cpp b/embed/mozilla/EphyBrowser.cpp
index 3d9d8b443..8d94ad185 100644
--- a/embed/mozilla/EphyBrowser.cpp
+++ b/embed/mozilla/EphyBrowser.cpp
@@ -830,6 +830,7 @@ EphyBrowser::EphyBrowser ()
#endif
, mContextMenuListener(nsnull)
, mInitialized(PR_FALSE)
+, mZoom(0.0)
{
LOG ("EphyBrowser ctor (%p)", this);
}
@@ -1192,7 +1193,9 @@ nsresult EphyBrowser::SetZoom (float aZoom)
nsCOMPtr<nsIMarkupDocumentViewer> mdv = do_QueryInterface(contentViewer);
NS_ENSURE_TRUE (mdv, NS_ERROR_FAILURE);
- return mdv->SetTextZoom (aZoom);
+ nsresult rv = mdv->SetTextZoom (aZoom);
+ mZoom = aZoom;
+ return rv;
}
nsresult EphyBrowser::GetContentViewer (nsIContentViewer **aViewer)
@@ -1207,6 +1210,10 @@ nsresult EphyBrowser::GetContentViewer (nsIContentViewer **aViewer)
nsresult EphyBrowser::GetZoom (float *aZoom)
{
+ if (mZoom != 0) {
+ *aZoom = mZoom;
+ return NS_OK;
+ }
NS_ENSURE_TRUE (mWebBrowser, NS_ERROR_FAILURE);
nsCOMPtr<nsIContentViewer> contentViewer;
@@ -1216,7 +1223,9 @@ nsresult EphyBrowser::GetZoom (float *aZoom)
nsCOMPtr<nsIMarkupDocumentViewer> mdv = do_QueryInterface(contentViewer);
NS_ENSURE_TRUE (mdv, NS_ERROR_FAILURE);
- return mdv->GetTextZoom (aZoom);
+ nsresult rv = mdv->GetTextZoom (aZoom);
+ mZoom = *aZoom;
+ return rv;
}
nsresult
diff --git a/embed/mozilla/EphyBrowser.h b/embed/mozilla/EphyBrowser.h
index ac0ef2ef6..83d51eb4e 100644
--- a/embed/mozilla/EphyBrowser.h
+++ b/embed/mozilla/EphyBrowser.h
@@ -208,6 +208,7 @@ public:
nsCOMPtr<nsIWebBrowser> mWebBrowser;
private:
GtkWidget *mEmbed;
+ float mZoom;
nsCOMPtr<nsIWebBrowserFocus> mWebBrowserFocus;
nsCOMPtr<nsIDOMDocument> mTargetDocument;