Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug-1795976-port-attack-crash into lp:widelands

2018-10-11 Thread TiborB
Review: Approve

Code looks good to me
-- 
https://code.launchpad.net/~widelands-dev/widelands/bug-1795976-port-attack-crash/+merge/356454
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/bug-1795976-port-attack-crash.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug-1795976-port-attack-crash into lp:widelands

2018-10-11 Thread GunChleoc
GunChleoc has proposed merging 
lp:~widelands-dev/widelands/bug-1795976-port-attack-crash into lp:widelands.

Commit message:
Fix endless loop in DefaultAI::dispensable_road_test

Requested reviews:
  Widelands Developers (widelands-dev)
Related bugs:
  Bug #1795976 in widelands: "Crash, game freezes, memory overflow"
  https://bugs.launchpad.net/widelands/+bug/1795976

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/bug-1795976-port-attack-crash/+merge/356454
-- 
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/bug-1795976-port-attack-crash into lp:widelands.
=== modified file 'src/ai/defaultai.cc'
--- src/ai/defaultai.cc	2018-09-29 14:35:29 +
+++ src/ai/defaultai.cc	2018-10-11 06:58:14 +
@@ -3593,6 +3593,7 @@
 	uint16_t road_length = road.get_path().get_nsteps();
 
 	for (int j = 0; j < 2; ++j) {
+		std::set visited_flags;
 		bool new_road_found = true;
 		while (new_road_found && full_road.back()->nr_of_roads() <= 2 &&
 		   full_road.back()->get_building() == nullptr) {
@@ -3616,10 +3617,16 @@
 if (other_end->get_position() == full_road[full_road_size - 2]->get_position()) {
 	continue;
 }
-full_road.push_back(other_end);
-road_length += near_road->get_path().get_nsteps();
-new_road_found = true;
-break;
+
+// Do not visit the same flag twice
+if (visited_flags.count(other_end->serial()) == 0) {
+	// We have found a new flag to add to the road
+	full_road.push_back(other_end);
+	road_length += near_road->get_path().get_nsteps();
+	new_road_found = true;
+	visited_flags.insert(other_end->serial());
+	break;
+}
 			}
 		}
 		// we walked to one end, now let revert the concent of full_road and repeat in opposite

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/cmakepolicy into lp:widelands

2018-10-11 Thread GunChleoc
How about trying to do what the  original error message is suggesting?

https://cmake.org/cmake/help/latest/policy/CMP0072.html

Try this line:

OpenGL_GL_PREFERENCE=LEGACY
-- 
https://code.launchpad.net/~widelands-dev/widelands/cmakepolicy/+merge/356018
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/cmakepolicy.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/ship_scheduling_2 into lp:widelands

2018-10-11 Thread GunChleoc
Well, I have fully mature branches that have been sitting around for a year 
that won't make it in because they are still waiting for a code review slot... 
I could just call them "UI bugs" and insist on having them in Build 20, 
delaying the release until who knows when, maybe another year?

Every changed line of code has the potential for bugs, and as we have seen from 
the failing test suite, there are edge cases that don't immediately come up 
during gameplay testing. You are providing some complex control flow in your 
branches, so the potential for undiscovered new bugs is high. I have just fixed 
an endless loop that was introduced in February and only reported last week. 
So, I don't think that we should risk it with the release coming shortly. 
Widelands is too mature for the player base to find bugs like that acceptable 
in a release.

Also, the release procedure that we are using has been developed by my 
predecessor over the course of > 15 years, so I'm expecting there to be reasons 
for it to be like it is.

Patience is part of the game, I'm afraid. If you are too demotivated to carry 
on by having to wait for a few weeks until a feature gets in, here is nothing 
that we can do about it. I'd be sad to see you leave :'(
-- 
https://code.launchpad.net/~widelands-dev/widelands/ship_scheduling_2/+merge/355510
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/ship_scheduling_2.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug-1795976-port-attack-crash into lp:widelands

2018-10-11 Thread TiborB
OK, good idea... thanks
-- 
https://code.launchpad.net/~widelands-dev/widelands/bug-1795976-port-attack-crash/+merge/356454
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/bug-1795976-port-attack-crash.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug-1795976-port-attack-crash into lp:widelands

2018-10-11 Thread TiborB
now when I look more deep into the code I think the function has a logical 
error there, I will investigate and let you know..
-- 
https://code.launchpad.net/~widelands-dev/widelands/bug-1795976-port-attack-crash/+merge/356454
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/bug-1795976-port-attack-crash.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug-1795976-port-attack-crash into lp:widelands

2018-10-11 Thread GunChleoc
Do you want to take up this branch and improve it before we merge?

I'll hold off merging for now.
-- 
https://code.launchpad.net/~widelands-dev/widelands/bug-1795976-port-attack-crash/+merge/356454
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/bug-1795976-port-attack-crash.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/cmakepolicy into lp:widelands

2018-10-11 Thread Toni Förster
@GunChleoc

But that does not solve the underlying issue, does it?

Setting:

cmake_policy(SET CMP0072 OLD)

is the same as not setting the policy at all. In both will result in:

OpenGL_GL_PREFERENCE=LEGACY

The first one though would silence the warning BUT we would run into issues 
with Cmake version older than 3.11 since they don't know this policy, as seen 
here:

https://launchpadlibrarian.net/392627292/buildlog_ubuntu-trusty-i386.widelands_1%3A19-ppa0-bzr8875-201810101704~ubuntu14.04.1_BUILDING.txt.gz

CMake Error at CMakeLists.txt:4 (cmake_policy):
  Policy "CMP0054" is not known to this version of CMake.

Since I don't have a Linux machine I can't real test for the linking errors 
kaputtnik reported.

The commit as it is now should solve the problem with the buildsystem. Should I 
open a new commit just for the buildsystem?

-- 
https://code.launchpad.net/~widelands-dev/widelands/cmakepolicy/+merge/356018
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/cmakepolicy.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/cmakepolicy into lp:widelands

2018-10-11 Thread Toni Förster
@kaputtnik can you give this another try?
-- 
https://code.launchpad.net/~widelands-dev/widelands/cmakepolicy/+merge/356018
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/cmakepolicy.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug-1795976-port-attack-crash into lp:widelands

2018-10-11 Thread bunnybot
Continuous integration builds have changed state:

Travis build 4110. State: passed. Details: 
https://travis-ci.org/widelands/widelands/builds/440029552.
Appveyor build 3905. State: success. Details: 
https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_bug_1795976_port_attack_crash-3905.
-- 
https://code.launchpad.net/~widelands-dev/widelands/bug-1795976-port-attack-crash/+merge/356454
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/bug-1795976-port-attack-crash.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/ship_scheduling_2 into lp:widelands

2018-10-11 Thread ypopezios
"Widelands is too mature for the player base to find bugs like that acceptable 
in a release."

Unless you have asked the player-base about the matter, the above statement is 
arbitrary. If you dare, you can conduct a poll on the issue. Projects much 
bigger and much more serious than Widelands have no problem releasing code that 
is not tested in every possible way, exactly to involve the user-base in the 
testing process (even more so when it comes to complex control flow). The 
endless loop you fixed after many months, would have been both reported and 
fixed much earlier if there was a release to expose it to users. Most 
importantly, the vast majority of modern user-bases has no more problem dealing 
with minor bugs, as long as they have an easy way to report them and the 
programmers are eager to fix them in soon-to-follow bug-fixing releases. Users 
can be as patient as the programmers, especially non-paying users.

Of course all that may leave your "German mentality" untouched, and this is not 
the place for a theoretical discussion. Still motivation is no less important 
than patience, and Widelands needs developers at least as much as it needs 
users. Or so I was told, among other non-truths, like that there are more 
testers than developers. On the bright side, it is good to know the practical 
value of my contributions, before undertaking something as big as fixing the 
routing or the AI.
-- 
https://code.launchpad.net/~widelands-dev/widelands/ship_scheduling_2/+merge/355510
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/ship_scheduling_2.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~widelands-dev/widelands/cmakepolicy into lp:widelands

2018-10-11 Thread bunnybot
Continuous integration builds have changed state:

Travis build 4111. State: failed. Details: 
https://travis-ci.org/widelands/widelands/builds/440139202.
Appveyor build 3906. State: failed. Details: 
https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_cmakepolicy-3906.
-- 
https://code.launchpad.net/~widelands-dev/widelands/cmakepolicy/+merge/356018
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/cmakepolicy.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/cmakepolicy into lp:widelands

2018-10-11 Thread kaputtnik
Compiling is fine here with the latest change: No Warning and no compile errors.

I do not really understand that stuff, but can't we just add a switch like that 
(instead of setting the linker flags):

if(${CMAKE_VERSION} VERSION_GREATER  "3.11") 
cmake_policy(SET CMP0072 OLD)
endif()

I tested this and it works for me (deleted the build directory and compiled 
again) ... Has to be commented well, though.
-- 
https://code.launchpad.net/~widelands-dev/widelands/cmakepolicy/+merge/356018
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/cmakepolicy.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/fri-portraits into lp:widelands

2018-10-11 Thread Benedikt Straub
@Klaus: I don´t think using real portraits would work. There are very few 
portraits of Frisians. Aldgisl is about as close as we can get, and he was a 
Western Frisian duke (so he´d fit to Reebaud, who seems more Western than 
Northern frisian anyway), but there are few others. In the middle ages, it was 
mainly rich kings, dukes and the like that had themselves painted. But Northern 
Frisian society knew no distinction between higher and lower classes – nearly 
everyone was a peasant, even the (Ratsherren) and (Deichgrafen). Also, as far 
as I know most frisians who were rich enough to have themselves painted lived 
on Strand and other places the sea since reclaimed, so those portraits were 
destroyed by the flood of 1634. That´s why only few older paintings of 
(northern) Frisians exist. And I don´t want to edit real photographs for 
Widelands; I tried that but couldn´t produce anything useful. 

@GunChleoc: This branch doesn´t need to wait for b21, right? Since it´s a 
graphics-only change.
-- 
https://code.launchpad.net/~widelands-dev/widelands/fri-portraits/+merge/356221
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/fri-portraits.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~widelands-dev/widelands/cmakepolicy_2 into lp:widelands

2018-10-11 Thread kaputtnik
kaputtnik has proposed merging lp:~widelands-dev/widelands/cmakepolicy_2 into 
lp:widelands.

Requested reviews:
  Widelands Developers (widelands-dev)
Related bugs:
  Bug #1772079 in widelands: "CMake 3.11: warning about FindOpenGL"
  https://bugs.launchpad.net/widelands/+bug/1772079

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/cmakepolicy_2/+merge/356609

Another attempt to fix CMP warnings. Lets see what Travis and Appveyor think of 
this :-)
-- 
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/cmakepolicy_2 into lp:widelands.
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt	2018-09-26 13:41:40 +
+++ CMakeLists.txt	2018-10-11 19:24:20 +
@@ -1,7 +1,14 @@
 project (widelands)
 
 cmake_minimum_required (VERSION 2.8.7)
-cmake_policy(SET CMP0054 NEW)
+
+if(${CMAKE_VERSION} VERSION_GREATER  "3.10") 
+cmake_policy(SET CMP0072 OLD)
+endif()
+
+if(${CMAKE_VERSION} VERSION_GREATER  "3.0") 
+cmake_policy(SET CMP0054 NEW)
+endif()
 
 include("${CMAKE_SOURCE_DIR}/cmake/WlFunctions.cmake")
 
@@ -140,6 +147,7 @@
   message(STATUS "Not using AddressSanitizer.")
 endif(OPTION_ASAN)
 
+
 if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
   wl_add_flag(WL_COMPILE_DIAGNOSTICS "-Weverything")
 

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/cmakepolicy into lp:widelands

2018-10-11 Thread Toni Förster
@kaputtnik the changes I made set the policy to NEW. The trick that it. did 
were the additional linker options. But it broke travis builds and will throw 
errors on system that use old cmake version.

Your proposed switch sets it to the old (deprecated) behavior. Would you be so 
nice and test the latest change I pushed?

This change only sets the policy to NEW, if it is known to the Cmake version in 
use. This should work with travis, but we have to wait, though.
-- 
https://code.launchpad.net/~widelands-dev/widelands/cmakepolicy/+merge/356018
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/cmakepolicy.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/cmakepolicy into lp:widelands

2018-10-11 Thread Toni Förster
Btw. AFAIK when using the new behavior, it seems mandatory to set the 
linker-flags.

See here:

https://stackoverflow.com/questions/23729213/link-error-when-trying-to-build-a-simple-opengl-program
-- 
https://code.launchpad.net/~widelands-dev/widelands/cmakepolicy/+merge/356018
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/cmakepolicy.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/cmakepolicy into lp:widelands

2018-10-11 Thread Toni Förster
@kaputtnik you could try to remove the linker flags bit by bit and see which 
one is really necessary to compile without linker errors.
-- 
https://code.launchpad.net/~widelands-dev/widelands/cmakepolicy/+merge/356018
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/cmakepolicy.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~widelands-dev/widelands/cmakepolicy_2 into lp:widelands

2018-10-11 Thread bunnybot
Continuous integration builds have changed state:

Travis build 4113. State: errored. Details: 
https://travis-ci.org/widelands/widelands/builds/440355897.
Appveyor build 3908. State: failed. Details: 
https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_cmakepolicy_2-3908.
-- 
https://code.launchpad.net/~widelands-dev/widelands/cmakepolicy_2/+merge/356609
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/cmakepolicy_2 into lp:widelands.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~widelands-dev/widelands/cmakepolicy into lp:widelands

2018-10-11 Thread bunnybot
Continuous integration builds have changed state:

Travis build 4114. State: errored. Details: 
https://travis-ci.org/widelands/widelands/builds/440360936.
Appveyor build 3909. State: failed. Details: 
https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_cmakepolicy-3909.
-- 
https://code.launchpad.net/~widelands-dev/widelands/cmakepolicy/+merge/356018
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/cmakepolicy.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp