Mercurial > hg > vboxdotnet
annotate VBoxFrontend/MonoCOMInteropDoubleFree.patch @ 3:b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
author | Ivo Smits |
---|---|
date | Wed, 04 May 2011 16:32:10 +0200 |
parents | |
children |
rev | line source |
---|---|
3
b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
Ivo Smits
parents:
diff
changeset
|
1 ???diff --git a/mcs/class/corlib/Mono.Interop/ComInteropProxy.cs b/mcs/class/corlib/Mono.Interop/ComInteropProxy.cs |
b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
Ivo Smits
parents:
diff
changeset
|
2 index 54fefe2..1271257 100644 |
b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
Ivo Smits
parents:
diff
changeset
|
3 --- a/mcs/class/corlib/Mono.Interop/ComInteropProxy.cs |
b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
Ivo Smits
parents:
diff
changeset
|
4 +++ b/mcs/class/corlib/Mono.Interop/ComInteropProxy.cs |
b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
Ivo Smits
parents:
diff
changeset
|
5 @@ -93,12 +93,9 @@ namespace Mono.Interop |
b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
Ivo Smits
parents:
diff
changeset
|
6 Marshal.ThrowExceptionForHR (hr); |
b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
Ivo Smits
parents:
diff
changeset
|
7 ComInteropProxy obj = FindProxy (ppv); |
b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
Ivo Smits
parents:
diff
changeset
|
8 if (obj == null) { |
b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
Ivo Smits
parents:
diff
changeset
|
9 - Marshal.Release (pItf); |
b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
Ivo Smits
parents:
diff
changeset
|
10 return new ComInteropProxy (ppv); |
b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
Ivo Smits
parents:
diff
changeset
|
11 } |
b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
Ivo Smits
parents:
diff
changeset
|
12 else { |
b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
Ivo Smits
parents:
diff
changeset
|
13 - Marshal.Release (pItf); |
b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
Ivo Smits
parents:
diff
changeset
|
14 - System.Threading.Interlocked.Increment (ref obj.ref_count); |
b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
Ivo Smits
parents:
diff
changeset
|
15 return obj; |
b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
Ivo Smits
parents:
diff
changeset
|
16 } |
b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
Ivo Smits
parents:
diff
changeset
|
17 } |