[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-multimedia
Subject:    [PATCH] noatun/modules/winskin/vis compile problems with g++ 3.3
From:       Thiago Macieira <thiagom () wanadoo ! fr>
Date:       2003-07-24 14:25:09
[Download RAW message or body]

[Attachment #2 (multipart/signed)]

[Attachment #4 (multipart/mixed)]


Hello,

noatun/modules/winskin/vis/visqueue.cpp chokes during compilation on g++ 3.3, 
with -pedantic -ansi ("ISO C++ does not allow variable-sized arrays"). The 
attached patch corrects the problem. It's binary compatible (the changed 
member is private and the class has no friends).

-- 
  Thiago Macieira  -  Registered Linux user #65028
   thiagom@mail.com           
    ICQ UIN: 1967141   PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358

["noatun-winskin-vis.diff" (text/x-diff)]

Index: visQueue.cpp
===================================================================
RCS file: /home/kde/kdemultimedia/noatun/modules/winskin/vis/visQueue.cpp,v
retrieving revision 1.2
diff -u -3 -p -r1.2 visQueue.cpp
--- visQueue.cpp	1 Dec 2001 01:13:12 -0000	1.2
+++ visQueue.cpp	24 Jul 2003 14:21:06 -0000
@@ -16,28 +16,18 @@
 
 VISQueue::VISQueue(int elements) {
   this->elements=elements;
-  int i;
-  visArrayQueue=new (std::vector<float>*[elements]);
-  for(i=0;i<elements;i++) {
-    visArrayQueue[i]=new std::vector<float>;
-  }
-
+  visArrayQueue=new std::vector<float>[elements];
 }
 
 VISQueue::~VISQueue() {
-  int i;
-
-  for(i=0;i<elements;i++) {
-    delete visArrayQueue[i];
-  }
-  delete visArrayQueue;
+  delete[] visArrayQueue;
 }
 
 std::vector<float>* VISQueue::getElement(int i) {
   if ( (i < 0) || (i>elements) ) {
-    return visArrayQueue[0];
+    return &visArrayQueue[0];
   }
-  return visArrayQueue[i];
+  return &visArrayQueue[i];
 }
 
 
Index: visQueue.h
===================================================================
RCS file: /home/kde/kdemultimedia/noatun/modules/winskin/vis/visQueue.h,v
retrieving revision 1.4
diff -u -3 -p -r1.4 visQueue.h
--- visQueue.h	29 Aug 2002 03:01:06 -0000	1.4
+++ visQueue.h	24 Jul 2003 14:21:06 -0000
@@ -20,7 +20,7 @@
 class VISQueue {
 
   int elements;
-  std::vector<float>** visArrayQueue; 
+  std::vector<float>* visArrayQueue; 
 
  public:
   VISQueue(int elements);

[Attachment #8 (application/pgp-signature)]

_______________________________________________
kde-multimedia mailing list
kde-multimedia@mail.kde.org
http://mail.kde.org/mailman/listinfo/kde-multimedia


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic