Re: [Freeciv-Dev] Fwd: (PR#39821) Global Lists Bug... Can't Add to top of list?

2008-04-12 Thread [EMAIL PROTECTED]

URL: http://bugs.freeciv.org/Ticket/Display.html?id=39821 

Hi!

Don't worry, thanks for the patch(es)!  =)

--- [EMAIL PROTECTED] wrote:

From: Ulrik Sverdrup [EMAIL PROTECTED]
To: [EMAIL PROTECTED], [EMAIL PROTECTED]
Subject: Fwd: [Freeciv-Dev] (PR#39821) Global Lists Bug... Can't Add to top of 
list?
Date: Fri, 11 Apr 2008 18:58:28 -0700


URL: http://bugs.freeciv.org/Ticket/Display.html?id=39821 

Sorry for the spam, Core. I was trying to send this to the list. I
really have to learn some things about operating email...

Here is an email I *should* have sent to the bugtracker yesterday.

Ulrik

-- Forwarded message --
From: Ulrik Sverdrup [EMAIL PROTECTED]
Date: 10.04.2008 21:55
Subject: Re: [Freeciv-Dev] (PR#39821) Global Lists Bug... Can't Add to
top of list?
To: [EMAIL PROTECTED]


2008/4/10, Ulrik Sverdrup [EMAIL PROTECTED]:


   URL: http://bugs.freeciv.org/Ticket/Display.html?id=39821 
 
 
   The worklist editor assumes that if ptr-pcity is NULL, you can't edit
   the worklist. This reverses that to allow the global worklist editor
   to enable all buttons.
 
   The original reporter only mentions the prepend button but the append
   button should also have been affected.
 
   Attached simple patches to trunk and 21 branches that fix this by
   modifying the sensitivity check.
 
   Old check:
   client can issue commands AND pcity not NULL AND player owns pcity
   New check
   client can issue commands AND ( (pcity not NULL AND player owns pcity)
   OR pcity is NULL)
 
   The extra null check is so that we don't get a crash on looking up
   an owner for city NULL, of course.
 
   Can someone test this? I can't find any other case than the global
   worklist editor where pcity is NULL.
 
   Ulrik
 


Always embarrassing to send something twice. Staring at the logic
 above long enough, you'll see that it's simpler to write the
 conditional as in this patch, taking advantage of course of C's
 cross-circuiting rules.


 Ulrik





___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev


[Freeciv-Dev] Fwd: (PR#39821) Global Lists Bug... Can't Add to top of list?

2008-04-11 Thread Ulrik Sverdrup

URL: http://bugs.freeciv.org/Ticket/Display.html?id=39821 

Sorry for the spam, Core. I was trying to send this to the list. I
really have to learn some things about operating email...

Here is an email I *should* have sent to the bugtracker yesterday.

Ulrik

-- Forwarded message --
From: Ulrik Sverdrup [EMAIL PROTECTED]
Date: 10.04.2008 21:55
Subject: Re: [Freeciv-Dev] (PR#39821) Global Lists Bug... Can't Add to
top of list?
To: [EMAIL PROTECTED]


2008/4/10, Ulrik Sverdrup [EMAIL PROTECTED]:


   URL: http://bugs.freeciv.org/Ticket/Display.html?id=39821 
 
 
   The worklist editor assumes that if ptr-pcity is NULL, you can't edit
   the worklist. This reverses that to allow the global worklist editor
   to enable all buttons.
 
   The original reporter only mentions the prepend button but the append
   button should also have been affected.
 
   Attached simple patches to trunk and 21 branches that fix this by
   modifying the sensitivity check.
 
   Old check:
   client can issue commands AND pcity not NULL AND player owns pcity
   New check
   client can issue commands AND ( (pcity not NULL AND player owns pcity)
   OR pcity is NULL)
 
   The extra null check is so that we don't get a crash on looking up
   an owner for city NULL, of course.
 
   Can someone test this? I can't find any other case than the global
   worklist editor where pcity is NULL.
 
   Ulrik
 


Always embarrassing to send something twice. Staring at the logic
 above long enough, you'll see that it's simpler to write the
 conditional as in this patch, taking advantage of course of C's
 cross-circuiting rules.


 Ulrik

From 3dbfd15b8272d12981e5de5be629f801ea62e584 Mon Sep 17 00:00:00 2001
From: Ulrik Sverdrup [EMAIL PROTECTED]
Date: Thu, 10 Apr 2008 17:41:50 +0200
Subject: [PATCH] (PR#39821) Global Lists Bug... Can't Add to top of list?

The global worklist editor would not allow the  buttons (prepend and
append) to become sensitive, since ptr-pcity is NULL for global
worklits. This fixes that case.

This is the fix for S2_1 branch
---
 client/gui-gtk-2.0/wldlg.c |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/client/gui-gtk-2.0/wldlg.c b/client/gui-gtk-2.0/wldlg.c
index 29cccdc..0b1bab6 100644
--- a/client/gui-gtk-2.0/wldlg.c
+++ b/client/gui-gtk-2.0/wldlg.c
@@ -898,7 +898,8 @@ static void src_selection_callback(GtkTreeSelection *selection, gpointer data)
   /* update widget sensitivity. */
   if (gtk_tree_selection_get_selected(selection, NULL, NULL)) {
 if (can_client_issue_orders()
-	 ptr-pcity  city_owner(ptr-pcity) == game.player_ptr) {
+   (!ptr-pcity || city_owner(ptr-pcity) == game.player_ptr)) {
+  /* if ptr-pcity is NULL, this is a global worklist */
   gtk_widget_set_sensitive(ptr-change_cmd, TRUE);
   gtk_widget_set_sensitive(ptr-prepend_cmd, TRUE);
   gtk_widget_set_sensitive(ptr-append_cmd, TRUE);
-- 
1.5.4.4

From 10d5e1cb71b0293c58e854c2b5e76d091bdadeb0 Mon Sep 17 00:00:00 2001
From: Ulrik Sverdrup [EMAIL PROTECTED]
Date: Thu, 10 Apr 2008 17:41:50 +0200
Subject: [PATCH] (PR#39821) Global Lists Bug... Can't Add to top of list?

The global worklist editor would not allow the  buttons (prepend and
append) to become sensitive, since ptr-pcity is NULL for global
worklits. This fixes that case.
---
 client/gui-gtk-2.0/wldlg.c |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/client/gui-gtk-2.0/wldlg.c b/client/gui-gtk-2.0/wldlg.c
index a3373d1..6bdf509 100644
--- a/client/gui-gtk-2.0/wldlg.c
+++ b/client/gui-gtk-2.0/wldlg.c
@@ -873,7 +873,8 @@ static void src_selection_callback(GtkTreeSelection *selection, gpointer data)
   /* update widget sensitivity. */
   if (gtk_tree_selection_get_selected(selection, NULL, NULL)) {
 if (can_client_issue_orders()
-	 ptr-pcity  city_owner(ptr-pcity) == client.conn.playing) {
+   (!ptr-pcity || city_owner(ptr-pcity) == client.conn.playing)) {
+  /* if ptr-pcity is NULL, this is a global worklist */
   gtk_widget_set_sensitive(ptr-change_cmd, TRUE);
   gtk_widget_set_sensitive(ptr-prepend_cmd, TRUE);
   gtk_widget_set_sensitive(ptr-append_cmd, TRUE);
-- 
1.5.4.4

___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev