bugFreeciv - Bugs: bug #20085, Client does not set correct...

 
 
Show feedback again

bug #20085: Client does not set correct transported_by info

Submitted by:  Marko Lindqvist <cazfi>
Submitted on:  Mon 20 Aug 2012 12:23:03 AM UTC  
 
Category: clientSeverity: 3 - Normal
Priority: 5 - NormalStatus: Fixed
Assigned to: Marko Lindqvist <cazfi>Open/Closed: Closed
Release: Operating System: None
Planned Release: 2.4.0, 2.5.0

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Thu 23 Aug 2012 06:52:07 PM UTC, SVN revision 21832:

Do not change unit transported_by from what server told it to be in client.
Most notable effect is that now client knows that unit used to be transported,
so it correctly unloads it once server tells it to.

See gna bug #20085

(Browse SVN revision 21832)

Marko Lindqvist <cazfi>
Project AdministratorIn charge of this item.
Thu 23 Aug 2012 06:51:55 PM UTC, SVN revision 21831:

Do not change unit transported_by from what server told it to be in client.
Most notable effect is that now client knows that unit used to be transported,
so it correctly unloads it once server tells it to.

See gna bug #20085

(Browse SVN revision 21831)

Marko Lindqvist <cazfi>
Project AdministratorIn charge of this item.
Mon 20 Aug 2012 12:58:30 AM UTC, comment #2:

Attached fix removes setting transported_by from unit_transport_unload(). Transported_by should be as told by the server.

(file #16411)

Marko Lindqvist <cazfi>
Project AdministratorIn charge of this item.
Mon 20 Aug 2012 12:30:07 AM UTC, comment #1:

This explain (original) bug #19904. When client then gets the unit info packet that is meant to tell it to unload unit, it thinks that unit was never transported (by checking transported_by) and does nothing to unload it (to set transporter).

This does not explain server side problems over client logout/login cycle.

Marko Lindqvist <cazfi>
Project AdministratorIn charge of this item.
Mon 20 Aug 2012 12:23:03 AM UTC, original submission:

When client initially receives units (either when connecting to server or when it suddenly sees allied units etc) that are transported, transported_by is not set correctly.

It's set when unpackaging unit, but then...
packhand.c:1598: unit_transport_unload()
-> Unload from potential old transport. This sets transported_by to -1
packhand.c:1599: unit_transport_load()
-> This loads to correct transport, but it doesn't set transported_by

I'm not yet entirely sure if it's bug that unit_transport_unload() sets transported_by, or is the bug that unit_transport_load() does not. Should transported_by in the client be set only by network packet unpackaging, or should those auxiliary functions also do what their name suggest?

Marko Lindqvist <cazfi>
Project AdministratorIn charge of this item.

 

(Note: upload size limit is set to 1024 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files

 

Depends on the following items: None found

Digest:
   bug dependencies.

 

Carbon-Copy List
  • -unavailable- added by cazfi (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 8 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 07 Apr 2013 10:09:01 AM UTCjtnDependencies-=>bugs #20722 is dependent
    Thu 23 Aug 2012 06:53:29 PM UTCcazfiStatusReady For Test=>Fixed
      Assigned toNone=>cazfi
      Open/ClosedOpen=>Closed
    Mon 20 Aug 2012 12:58:30 AM UTCcazfiAttached File-=>Added TransportedByAsServerSays.patch, #16411
      CategoryNone=>client
      StatusNone=>Ready For Test
      Planned Release=>2.4.0, 2.5.0
    Show feedback again

    Back to the top


    Powered by Savane 3.1-cleanup