Community Forums Today's Posts     Member List     Archive    
Results 1 to 3 of 3
  1. #1
    Join Date
    Jun 2010
    Location
    USA
    Posts
    11

    Exclamation requestClientMove() invokes wrong callback then crashes

    I have a networked system with one TS server and multiple clients. On clientA, I call ts3client_requestClientMove() to move clientB to a specific channel. This causes the callback onClientMoveEvent to be invoked. I expect onClientMoveMovedEvent to be invoked.

    Further, after my callback for onClientMoveEvent is invoked, I get a crash down in the TS3 DLL. Even if I don't register my onClientMoveEvent callback, the crash still occurs.

    I tried enabling logging for the client at the INFO level, but get no information of any import. The arguments to my callback look correct, as if the move occurs correctly.

    Finally, note that your documentation in the 3.0.1 client PDF has several errors in it (pages 77-79).

  2. #2
    Join Date
    Jun 2010
    Location
    USA
    Posts
    11
    I figured out the reason for the crash - I was passing in NULL to the 'password' argument for requestClientMove(). I think the documentation could be made clearer by indicating that although the password is optional, you must pass in an empty string and not NULL. This is especially confusing because the 'returnCode' argument *can* be NULL if it is not used.

    I still don't understand what onClientMoveMovedEvent isn't invoked.

  3. #3
    Join Date
    Jun 2008
    Location
    Krün, Germany
    Posts
    464
    Regarding "" instead of NULL for the password in the documentation is a good point, I agree and adjusted the docs accordingly together with some other minor fixes in the "Joining a channel" chapter.

    Regarding the callbacks, I just tried with the latest downloadable SDK and a modified "client" example (added onClientMoveMovedEvent callback and the ability to move other clients by abusing the requestWhisperList function and replaced ts3client_requestClientSetWhisperList with ts3client_requestClientMove). Server is the "server" sample from the same SDK package.

    * I have two client program instances running, each with a client connected to the same server. Assume client A has clientID = 3, client B has clientID = 4.
    * There are two channels, assume channelID 1 and 2. Both clients sit in channel 1.
    * Case 1: Move own client
    Calling from instance of client A requestClientMove(scHandlerID, 3, 2, "", NULL) to let client A move himself into channel 2, I receive onClientMoveEvent with clientid=3 and newchannelID=2 with both program instances => correct
    * Case 2: Move other client
    Call from instance of client A requestClientMove(scHandlerID, 4, 2, "", NULL) to let client A move other client B (ID 4) into channel 2, I receive onClientMoveMovedEvent with clientid=4 and newchannelID=2, again in both program instances => correct.

    This looks proper to me, depending if own or other client is moved, onClientMoveEvent or onClientMoveMovedEvent is called.
    If the problem persist, some example code might be helpful to let us track down your issue.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Client Side Callback after ts3server_clientMove?
    By King_Xulu in forum General Questions
    Replies: 1
    Last Post: 06-05-2011, 07:45
  2. Replies: 2
    Last Post: 09-12-2010, 18:08
  3. Replies: 1
    Last Post: 06-12-2010, 07:18
  4. Any Callback or Event for HotKeys
    By jimbojackhammer in forum Plugins
    Replies: 0
    Last Post: 24-06-2010, 18:34
  5. [Solved] ts3Functions.requestClientMove
    By tomix in forum Plugins
    Replies: 2
    Last Post: 22-02-2010, 09:31

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •