summaryrefslogtreecommitdiff
path: root/src/server.cpp
diff options
context:
space:
mode:
authororwell96 <mono96.mml@gmail.com>2016-11-22 17:15:22 +0100
committerZeno- <kde.psych@gmail.com>2016-11-23 02:15:22 +1000
commit0d1c9598a0d2a4f21dc57de32efca2dc52b6b146 (patch)
treeea7280a8407472128ae90e1e4bb5ed3155392b19 /src/server.cpp
parentdbeb322f62bfdd431365622a6f5ddfae062c0d31 (diff)
downloadminetest-0d1c9598a0d2a4f21dc57de32efca2dc52b6b146.tar.gz
minetest-0d1c9598a0d2a4f21dc57de32efca2dc52b6b146.tar.bz2
minetest-0d1c9598a0d2a4f21dc57de32efca2dc52b6b146.zip
Make supplying empty formspec strings close the formspec (#4737)
This will only happen if the formname matches or if formname is "".
Diffstat (limited to 'src/server.cpp')
-rw-r--r--src/server.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/server.cpp b/src/server.cpp
index 48331e4f8..fae375425 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -1647,8 +1647,12 @@ void Server::SendShowFormspecMessage(u16 peer_id, const std::string &formspec,
DSTACK(FUNCTION_NAME);
NetworkPacket pkt(TOCLIENT_SHOW_FORMSPEC, 0 , peer_id);
-
- pkt.putLongString(FORMSPEC_VERSION_STRING + formspec);
+ if (formspec == "" ){
+ //the client should close the formspec
+ pkt.putLongString("");
+ } else {
+ pkt.putLongString(FORMSPEC_VERSION_STRING + formspec);
+ }
pkt << formname;
Send(&pkt);