- Fixed: If AInventory::SpecialDropAction returns true the item should be destroyed.

- Fixed: Building with SSE disabled triggered an error.

SVN r4028 (trunk)
This commit is contained in:
Braden Obrzut 2013-01-17 19:42:52 +00:00
parent de65ae809f
commit 3e1aa40461
2 changed files with 4 additions and 0 deletions

View file

@ -1116,12 +1116,14 @@ int ClassifyLineBackpatchC (node_t &node, const FSimpleVert *v1, const FSimpleVe
#endif #endif
// printf ("Patching for SSE %d @ %p %d\n", SSELevel, calleroffset, *calleroffset); // printf ("Patching for SSE %d @ %p %d\n", SSELevel, calleroffset, *calleroffset);
#ifndef DISABLE_SSE
if (CPU.bSSE2) if (CPU.bSSE2)
{ {
func = ClassifyLineSSE2; func = ClassifyLineSSE2;
diff = int((char *)ClassifyLineSSE2 - (char *)calleroffset); diff = int((char *)ClassifyLineSSE2 - (char *)calleroffset);
} }
else else
#endif
{ {
func = ClassifyLine2; func = ClassifyLine2;
diff = int((char *)ClassifyLine2 - (char *)calleroffset); diff = int((char *)ClassifyLine2 - (char *)calleroffset);

View file

@ -3069,6 +3069,8 @@ AInventory *P_DropItem (AActor *source, const PClass *type, int dropamount, int
ModifyDropAmount(inv, dropamount); ModifyDropAmount(inv, dropamount);
if (inv->SpecialDropAction (source)) if (inv->SpecialDropAction (source))
{ {
// The special action indicates that the item should not spawn
inv->Destroy();
return NULL; return NULL;
} }
return inv; return inv;