From 8f63117dac166da25700690e99bba2f311029cd0 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 27 Sep 2017 13:52:25 +0100 Subject: [PATCH] Use try...finally in Player->sendDataPacket() so we don't forget to stop timings --- src/pocketmine/Player.php | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index 98ddd6547..1272af1a2 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -1119,23 +1119,23 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{ $timings = Timings::getSendDataPacketTimings($packet); $timings->startTiming(); - $this->server->getPluginManager()->callEvent($ev = new DataPacketSendEvent($this, $packet)); - if($ev->isCancelled()){ + try{ + $this->server->getPluginManager()->callEvent($ev = new DataPacketSendEvent($this, $packet)); + if($ev->isCancelled()){ + return false; + } + + $identifier = $this->interface->putPacket($this, $packet, $needACK, $immediate); + + if($needACK and $identifier !== null){ + $this->needACK[$identifier] = false; + return $identifier; + } + + return true; + }finally{ $timings->stopTiming(); - return false; } - - $identifier = $this->interface->putPacket($this, $packet, $needACK, $immediate); - - if($needACK and $identifier !== null){ - $this->needACK[$identifier] = false; - - $timings->stopTiming(); - return $identifier; - } - - $timings->stopTiming(); - return true; } /**