Re: [Kicad-developers] export_vrml.cpp warnings

2016-09-23 Thread jp charras
Le 23/09/2016 à 00:29, Cirilo Bernardo a écrit :
> Thanks, that's probably a bad C habit on my part. :)  The most ancient of C++ 
> specs
> were more lenient with magic int-enum casts. All the more reason to use "enum 
> class"
> from now on; after all it was explicitly to address problems like this.
> 
> Fix attached; the patch also removes the few instances of wxT() in that file.
> 
> - Cirilo
> 

I committed your patch in rev: 2016-09-23 revision 8ea643c.

Thanks.


-- 
Jean-Pierre CHARRAS

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


Re: [Kicad-developers] export_vrml.cpp warnings

2016-09-22 Thread Cirilo Bernardo
Thanks, that's probably a bad C habit on my part. :)  The most ancient of
C++ specs
were more lenient with magic int-enum casts. All the more reason to use
"enum class"
from now on; after all it was explicitly to address problems like this.

Fix attached; the patch also removes the few instances of wxT() in that
file.

- Cirilo

On Fri, Sep 23, 2016 at 5:01 AM, Simon Wells  wrote:

> i am getting the following warning
>
> /Users/simon/kicad-app/kicad/pcbnew/exporters/export_vrml.cpp:1624:18:
> warning:
>   comparison of constant -1 with expression of type 'VRML_COLOR_INDEX'
> is
>   always false [-Wtautological-constant-out-of-range-compare]
>
> if( colorIdx == -1 )
>  ^  ~~
>
> the enum is specified as
>
> enum VRML_COLOR_INDEX
> {
> VRML_COLOR_PCB = 0,
> VRML_COLOR_TRACK,
> VRML_COLOR_SILK,
> VRML_COLOR_TIN,
> VRML_COLOR_LAST
> };
>
> as the expression is if (colorIdx == -1 ) colorIdx = VRML_COLOR_PCB
> would it not be worth adding a value for -1 into the enum (not sure
> whether it should be VRML_COLOR_AUTO or VRML_COLOR_UNSPECIFIED)
>
> thanks
>
> Simon
>
> ___
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>
From dee93d77eab2072a4b11551557884fe39abf5008 Mon Sep 17 00:00:00 2001
From: Cirilo Bernardo 
Date: Fri, 23 Sep 2016 08:20:17 +1000
Subject: [PATCH] Fix bad enum compare (VRML_COLOR_INDEX) and remove wxT()
 instances
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="2.9.3"

This is a multi-part message in MIME format.
--2.9.3
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit

---
 pcbnew/exporters/export_vrml.cpp | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)


--2.9.3
Content-Type: text/x-patch; name="0001-Fix-bad-enum-compare-VRML_COLOR_INDEX-and-remove-wxT.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="0001-Fix-bad-enum-compare-VRML_COLOR_INDEX-and-remove-wxT.patch"

diff --git a/pcbnew/exporters/export_vrml.cpp b/pcbnew/exporters/export_vrml.cpp
index f6c617a..7fc0a76 100644
--- a/pcbnew/exporters/export_vrml.cpp
+++ b/pcbnew/exporters/export_vrml.cpp
@@ -2,7 +2,7 @@
  * This program source code file is part of KiCad, a free EDA CAD application.
  *
  * Copyright (C) 2009-2013  Lorenzo Mercantonio
- * Copyright (C) 2014  Cirilo Bernardo
+ * Copyright (C) 2014-2016  Cirilo Bernardo
  * Copyright (C) 2013 Jean-Pierre Charras jp.charras at wanadoo.fr
  * Copyright (C) 2004-2016 KiCad Developers, see AUTHORS.txt for contributors.
  *
@@ -131,6 +131,7 @@ struct VRML_COLOR
 
 enum VRML_COLOR_INDEX
 {
+VRML_COLOR_NONE = -1,
 VRML_COLOR_PCB = 0,
 VRML_COLOR_TRACK,
 VRML_COLOR_SILK,
@@ -831,9 +832,8 @@ static void export_vrml_board( MODEL_VRML& aModel, BOARD* pcb )
 
 if( !pcb->GetBoardPolygonOutlines( bufferPcbOutlines, allLayerHoles, &msg ) )
 {
-msg << wxT( "\n\n" ) <<
-_( "Unable to calculate the board outlines;\n"
-   "fall back to using the board boundary box." );
+msg << "\n\n" <<
+_( "Unable to calculate the board outlines; fall back to using the board boundary box." );
 wxMessageBox( msg );
 }
 
@@ -863,8 +863,8 @@ static void export_vrml_board( MODEL_VRML& aModel, BOARD* pcb )
 
 if( seg < 0 )
 {
-msg << wxT( "\n\n" ) <<
-_( "VRML Export Failed:\nCould not add holes to contours." );
+msg << "\n\n" <<
+  _( "VRML Export Failed: Could not add holes to contours." );
 wxMessageBox( msg );
 
 return;
@@ -1413,7 +1413,7 @@ static void export_vrml_module( MODEL_VRML& aModel, BOARD* aPcb, MODULE* aModule
 
 if( srcModTime != destModTime )
 {
-wxLogDebug( wxT( "Copying 3D model %s to %s." ),
+wxLogDebug( "Copying 3D model %s to %s.",
 GetChars( srcFile.GetFullPath() ),
 GetChars( dstFile.GetFullPath() ) );
 
@@ -1459,14 +1459,14 @@ static void export_vrml_module( MODEL_VRML& aModel, BOARD* aPcb, MODULE* aModule
 if( USE_RELPATH )
 {
 wxFileName tmp = dstFile;
-tmp.SetExt( wxT( "" ) );
-tmp.SetName( wxT( "" ) );
+tmp.SetExt( "" );
+tmp.SetName( "" );
 tmp.RemoveLastDir();
 dstFile.MakeRelativeTo( tmp.GetPath() );
 }
 
 wxString fn = dstFile.GetFullPath();
-fn.Replace( wxT( "\\" ), wxT( "/" ) );
+fn.Replace( "\\", "/" );
 output_file << TO_UTF8( fn ) << "\"\n} ]\n";
 output_file << "  }\n";
 }
@@ -1568,7 +1568,

[Kicad-developers] export_vrml.cpp warnings

2016-09-22 Thread Simon Wells
i am getting the following warning

/Users/simon/kicad-app/kicad/pcbnew/exporters/export_vrml.cpp:1624:18: warning:
  comparison of constant -1 with expression of type 'VRML_COLOR_INDEX' is
  always false [-Wtautological-constant-out-of-range-compare]

if( colorIdx == -1 )
 ^  ~~

the enum is specified as

enum VRML_COLOR_INDEX
{
VRML_COLOR_PCB = 0,
VRML_COLOR_TRACK,
VRML_COLOR_SILK,
VRML_COLOR_TIN,
VRML_COLOR_LAST
};

as the expression is if (colorIdx == -1 ) colorIdx = VRML_COLOR_PCB
would it not be worth adding a value for -1 into the enum (not sure
whether it should be VRML_COLOR_AUTO or VRML_COLOR_UNSPECIFIED)

thanks

Simon

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