Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLluis Sanchez <llsan@microsoft.com>2019-05-02 18:30:51 +0300
committerGitHub <noreply@github.com>2019-05-02 18:30:51 +0300
commitf9b04bbaff92bf31a84ce8f112298bb3231bb4ac (patch)
tree5a04480fca883734851549def61eecb8bfdb6ac4
parent983ec746f9b2d8117aa84c948c465b6f7f06d97c (diff)
parentac25fba65444e7564ead272ea20152e749578bb4 (diff)
Merge pull request #719 from xamarin/backport-pr-701-to-release-8.0
[release-8.0] Fixed Bug 827656: [Watson] QuickTaskOverviewMode.DrawBreakpoints
-rw-r--r--main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.QuickTasks/QuickTaskOverviewMode.IdleUpdater.cs5
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Components/CairoExtensions.cs2
2 files changed, 5 insertions, 2 deletions
diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.QuickTasks/QuickTaskOverviewMode.IdleUpdater.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.QuickTasks/QuickTaskOverviewMode.IdleUpdater.cs
index 4cd379f151..f0efd85c90 100644
--- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.QuickTasks/QuickTaskOverviewMode.IdleUpdater.cs
+++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.QuickTasks/QuickTaskOverviewMode.IdleUpdater.cs
@@ -119,7 +119,7 @@ namespace MonoDevelop.SourceEditor.QuickTasks
bool RunHandler ()
{
tokenExit:
- if (token.IsCancellationRequested || mode.TextEditor.GetTextEditorData () == null) {
+ if (token.IsCancellationRequested || mode.TextEditor.GetTextEditorData () == null || surface.IsDisposed) {
cr.Dispose ();
// if the surface was newly created dispose it otherwise it'll leak.
if (surface != mode.swapIndicatorSurface)
@@ -197,7 +197,8 @@ namespace MonoDevelop.SourceEditor.QuickTasks
drawingStep++;
return true;
default:
- mode.DrawBreakpoints (cr);
+ if (cr.Handle != IntPtr.Zero)
+ mode.DrawBreakpoints (cr);
cr.Dispose ();
var tmp = mode.indicatorSurface;
mode.indicatorSurface = surface;
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/CairoExtensions.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/CairoExtensions.cs
index ae8a207e98..e92fe4c229 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/CairoExtensions.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/CairoExtensions.cs
@@ -612,6 +612,7 @@ namespace MonoDevelop.Components
public int Width { get; private set; }
public int Height { get; private set; }
public object Data { get; set; }
+ public bool IsDisposed { get; private set; }
public SurfaceWrapper (Cairo.Context similar, int width, int height)
{
@@ -654,6 +655,7 @@ namespace MonoDevelop.Components
public void Dispose ()
{
+ IsDisposed = true;
if (Surface != null) {
((IDisposable)Surface).Dispose ();
}