Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 120145 Details for
Bug 132055
games-fps/vavoom (new ebuild) (Advanced Source port for Doom, Heretic, Hexen and Strife)
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
vavoom-1.23_amd64_fix.diff
vavoom-1.23_amd64_fix.diff (text/plain), 2.31 KB, created by
Davide Cendron (RETIRED)
on 2007-05-23 22:30:13 UTC
(
hide
)
Description:
vavoom-1.23_amd64_fix.diff
Filename:
MIME Type:
Creator:
Davide Cendron (RETIRED)
Created:
2007-05-23 22:30:13 UTC
Size:
2.31 KB
patch
obsolete
>--- source/vclass.h 2007/04/17 21:35:04 2156 >+++ source/vclass.h 2007/05/07 16:48:35 2237 >@@ -375,6 +375,7 @@ > VClass* ParentClass; > > vint32 ClassSize; >+ vint32 ClassUnalignedSize; > vuint32 ClassFlags; > VMethod** ClassVTable; > void (*ClassConstructor)(); >--- source/vclass.cpp 2007/04/27 18:01:49 2191 >+++ source/vclass.cpp 2007/05/18 16:27:42 2241 >@@ -27,6 +27,20 @@ > #include "progdefs.h" > #include "network.h" > >+class DummyClass1 : public VVirtualObjectBase >+{ >+public: >+ void* Pointer; >+ vuint8 Byte1; >+ virtual void Dummy() = 0; >+}; >+ >+class DummyClass2 : public DummyClass1 >+{ >+public: >+ vuint8 Byte2; >+}; >+ > bool VMemberBase::GObjInitialised; > VClass* VMemberBase::GClasses; > TArray<VMemberBase*> VMemberBase::GMembers; >@@ -2353,6 +2367,7 @@ > , LinkNext(0) > , ParentClass(0) > , ClassSize(0) >+, ClassUnalignedSize(0) > , ClassFlags(0) > , ClassVTable(0) > , ClassConstructor(0) >@@ -2388,6 +2403,7 @@ > , LinkNext(0) > , ParentClass(AParent) > , ClassSize(ASize) >+, ClassUnalignedSize(ASize) > , ClassFlags(AClassFlags) > , ClassVTable(0) > , ClassConstructor(ACtor) >@@ -2477,6 +2493,8 @@ > delete[] Defaults; > Defaults = NULL; > } >+ StatesLookup.Clear(); >+ RepInfos.Clear(); > unguard; > } > >@@ -2849,10 +2867,7 @@ > return; > } > >- int PrevSize = ClassSize; >- int size = ParentClass ? ParentClass->ClassSize : 0; > int numMethods = ParentClass ? ParentClass->ClassNumMethods : 0; >- VField* PrevField = NULL; > for (int i = 0; i < GMembers.Num(); i++) > { > if (GMembers[i]->MemberType != MEMBER_Method || >@@ -2877,6 +2892,21 @@ > } > M->VTableIndex = MOfs; > } >+ >+ VField* PrevField = NULL; >+ int PrevSize = ClassSize; >+ int size = 0; >+ if (ParentClass) >+ { >+ // GCC has a strange behavior of starting to add fields in subclasses >+ // in a class that has virtual methods on unaligned parent size offset. >+ // In other cases and in other compilers it starts on aligned parent >+ // class size offset. >+ if (sizeof(DummyClass1) == sizeof(DummyClass2)) >+ size = ParentClass->ClassUnalignedSize; >+ else >+ size = ParentClass->ClassSize; >+ } > for (VField* fi = Fields; fi; fi = fi->Next) > { > if (fi->Type.Type == ev_bool && PrevField && >@@ -2904,6 +2934,7 @@ > } > PrevField = fi; > } >+ ClassUnalignedSize = size; > size = (size + sizeof(void*) - 1) & ~(sizeof(void*) - 1); > ClassSize = size; > ClassNumMethods = numMethods;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 132055
:
86018
|
86020
|
86437
|
86438
|
90377
|
90874
|
90875
|
92646
|
92647
|
92745
|
93212
|
93213
|
93214
|
93750
|
93751
|
93996
|
93997
|
93998
|
94445
|
95638
|
97585
|
97586
|
98927
|
98928
|
100878
|
101353
|
101362
|
104389
|
104390
|
104932
|
104934
|
104950
|
104951
|
107835
|
110097
|
114704
|
114706
|
120143
|
120145
|
120146
|
120148
|
121294
|
121296
|
122586
|
122587
|
122732
|
122734
|
122735
|
122750
|
122752
|
127280
|
132340
|
132341
|
132952
|
132954
|
137756
|
137757
|
141736
|
142349
|
142350
|
142500
|
142673
|
148886
|
148888
|
157689
|
170775
|
170835
|
171217
|
184901
|
187639
|
187640
|
233793
|
236793
|
244625
|
244627
|
258606
|
282773
|
324270
|
324274