]> git.saurik.com Git - wxWidgets.git/commitdiff
Fixed Dialog Editor compilation and window sizing bug. Various warning-related
authorJulian Smart <julian@anthemion.co.uk>
Thu, 26 Nov 1998 09:56:02 +0000 (09:56 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Thu, 26 Nov 1998 09:56:02 +0000 (09:56 +0000)
fixed.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

18 files changed:
docs/msw/install.txt
docs/msw/issues.txt
include/wx/event.h
include/wx/fileconf.h
include/wx/gtk/accel.h
include/wx/gtk/region.h
include/wx/gtk1/accel.h
include/wx/gtk1/region.h
include/wx/list.h
include/wx/msw/setup.h
include/wx/time.h
samples/memcheck/makefile.g95
src/msw/makefile.g95
utils/dialoged/src/reseditr.cpp
utils/dialoged/src/reswrite.cpp
utils/dialoged/src/symbtabl.cpp
utils/dialoged/src/winprop.cpp
utils/wxprop/src/proplist.cpp

index 5f6609cb81209b95c9f9af0923c34bb67d815bbe..3a2834a09a623aa9d98dca88e2d95c6f513fff4c 100644 (file)
@@ -111,7 +111,7 @@ and other intermediate compiler files.
 
 Gotchas:
 
-- libwx.a is 28 MB or more - but only 2.9 MB if compiled with no
+- libwx.a is 48 MB or more - but much less if compiled with no
   debug info (-g0) and level 4 optimization (-O4).
 - install.exe doesn't have built-in decompression because lzexpand.lib
   isn't available with Gnu-Win32. However, you can use it with external
index d8df16c5833c955d08f73b2db7a25edf57848e06..25655ae98d5519d9867b59a7396613d532aa9e0f 100644 (file)
@@ -1,37 +1,6 @@
 Current issues and bugs
 -----------------------
 
-Debugging code
---------------
-
-wxDebugContext and global memory operators doesn't work correctly,
-for different (unresolved) reasons on different compilers.
-
-1) In VC++ 5.0, if you use wxDebugAlloc for new and wxDebugFree
-for delete, you get a crash to do with deallocating the debug
-buffer in wxDebugContext. So although the global operators are
-defined, they are #ifdefed to just call malloc and free to avoid
-the problem. This means that non-object memory checking doesn't work.
-The problem does seem to be something to do with a pointer
-mysteriously changing its address, very similar to 2).
-
-2) In BC++ 4.5, there isn't a crash, but instead the ofstream
-pointer passed to SetStream from SetFile (which is called in
-memcheck.cpp) gets mysteriously changed as it's passed to SetStream.
-This means that when counting the number of outstanding memory
-blocks, we can't compare the allocated block with m_debugStream
-to say 'ignore this block because we can't free it before the
-very end of the application'. Therefore it always looks like
-there's a memory leak of one object, in memory.cpp, unless you
-don't call wxDebugContext::SetFile.
-
-The fact that pointers appear to change in both cases must
-indicate a common problem and solution. If we could use the
-standard global memory operators for ofstream and
-wxDebugStreamBuf it might help, but I don't know how to do that -
-I've redefined 'new' throughout as WXDEBUG_NEW (which is itself
-defined as the 3-argument operator).
-
 Owner-draw menus
 ----------------
 
index 3ccfb3b42817eb9356f3df79c69d38a31bda5774..327b2bdfc5aeef3aac7727543b522422f124b482 100644 (file)
@@ -1135,7 +1135,7 @@ const wxEventTable theClass::sm_eventTable =\
 const wxEventTableEntry theClass::sm_eventTableEntries[] = { \
 
 #define END_EVENT_TABLE() \
- { 0, 0, 0, 0 } };
+ { 0, 0, 0, 0, 0 } };
  
 /*
  * Event table macros
index 24b1a95902f262c5f4671ad1cbf5d9d756ba9e7a..532f0c4a63b7192ccf3cf2198fc10aa2b6f45dbc 100644 (file)
@@ -193,6 +193,9 @@ public:
   class LineList
   {
   public:
+    void      SetNext(LineList *pNext)  { m_pNext = pNext; }
+    void      SetPrev(LineList *pPrev)  { m_pPrev = pPrev; }
+
     // ctor
     LineList(const wxString& str, LineList *pNext = (LineList *) NULL) : m_strLine(str)
       { SetNext(pNext); SetPrev((LineList *) NULL); }
@@ -200,8 +203,6 @@ public:
     //
     LineList *Next() const              { return m_pNext;  }
     LineList *Prev() const              { return m_pPrev;  }
-    void      SetNext(LineList *pNext)  { m_pNext = pNext; }
-    void      SetPrev(LineList *pPrev)  { m_pPrev = pPrev; }
 
     //
     void SetText(const wxString& str) { m_strLine = str;  }
@@ -316,9 +317,9 @@ public:
     wxFileConfig   *Config()  const { return m_pConfig; }
     bool            IsDirty() const { return m_bDirty;  }
 
-    bool  IsEmpty() const { return Entries().IsEmpty() && Groups().IsEmpty(); }
     const ArrayEntries& Entries() const { return m_aEntries;   }
     const ArrayGroups&  Groups()  const { return m_aSubgroups; }
+    bool  IsEmpty() const { return Entries().IsEmpty() && Groups().IsEmpty(); }
 
     // find entry/subgroup (NULL if not found)
     ConfigGroup *FindSubgroup(const char *szName) const;
index d2eb53c07007d8d69f68c0a1356cc9c8aed802fb..4765e6fe3ddf483f3543d59c3d0729bb439a47fd 100644 (file)
@@ -83,16 +83,16 @@ class wxAcceleratorTable: public wxObject
     wxAcceleratorTable(int n, wxAcceleratorEntry entries[] );
     ~wxAcceleratorTable();
 
-    inline wxAcceleratorTable(const wxAcceleratorTable& accel) 
+    inline wxAcceleratorTable(const wxAcceleratorTable& accel) : wxObject()
       { Ref(accel); }
     inline wxAcceleratorTable(const wxAcceleratorTable* accel) 
       { if (accel) Ref(*accel); }
-    inline wxAcceleratorTable& operator = (const wxAcceleratorTable& accel) 
-      { if (*this == accel) return (*this); Ref(accel); return *this; }
-    inline bool operator == (const wxAcceleratorTable& accel) 
+    inline bool operator == (const wxAcceleratorTable& accel)
       { return m_refData == accel.m_refData; }
     inline bool operator != (const wxAcceleratorTable& accel) 
       { return m_refData != accel.m_refData; }
+    inline wxAcceleratorTable& operator = (const wxAcceleratorTable& accel)
+      { if (*this == accel) return (*this); Ref(accel); return *this; }
 
     bool Ok() const;
     
index 7ab28ddbd80ff714631368dee2849ec074099325..33af4087c35bc0f0f87f13d6fd8b6c037eeefccc 100644 (file)
@@ -58,7 +58,7 @@ class wxRegion : public wxGDIObject
     wxRegion(void);
     ~wxRegion(void);
 
-    inline wxRegion( const wxRegion& r ) 
+    inline wxRegion( const wxRegion& r ): wxGDIObject()
       { Ref(r); }
     inline wxRegion& operator = ( const wxRegion& r )
       { Ref(r); return (*this); }
index d2eb53c07007d8d69f68c0a1356cc9c8aed802fb..4765e6fe3ddf483f3543d59c3d0729bb439a47fd 100644 (file)
@@ -83,16 +83,16 @@ class wxAcceleratorTable: public wxObject
     wxAcceleratorTable(int n, wxAcceleratorEntry entries[] );
     ~wxAcceleratorTable();
 
-    inline wxAcceleratorTable(const wxAcceleratorTable& accel) 
+    inline wxAcceleratorTable(const wxAcceleratorTable& accel) : wxObject()
       { Ref(accel); }
     inline wxAcceleratorTable(const wxAcceleratorTable* accel) 
       { if (accel) Ref(*accel); }
-    inline wxAcceleratorTable& operator = (const wxAcceleratorTable& accel) 
-      { if (*this == accel) return (*this); Ref(accel); return *this; }
-    inline bool operator == (const wxAcceleratorTable& accel) 
+    inline bool operator == (const wxAcceleratorTable& accel)
       { return m_refData == accel.m_refData; }
     inline bool operator != (const wxAcceleratorTable& accel) 
       { return m_refData != accel.m_refData; }
+    inline wxAcceleratorTable& operator = (const wxAcceleratorTable& accel)
+      { if (*this == accel) return (*this); Ref(accel); return *this; }
 
     bool Ok() const;
     
index 7ab28ddbd80ff714631368dee2849ec074099325..33af4087c35bc0f0f87f13d6fd8b6c037eeefccc 100644 (file)
@@ -58,7 +58,7 @@ class wxRegion : public wxGDIObject
     wxRegion(void);
     ~wxRegion(void);
 
-    inline wxRegion( const wxRegion& r ) 
+    inline wxRegion( const wxRegion& r ): wxGDIObject()
       { Ref(r); }
     inline wxRegion& operator = ( const wxRegion& r )
       { Ref(r); return (*this); }
index 795b5f579b91f8bd5c38f6447ffd6d797c59b1ac..ee4df382e9fd70dd0aff1d69573f333d101250fa 100644 (file)
@@ -142,6 +142,7 @@ public:
 
     // @@ no check is done that the list is really keyed on strings
     const char *GetKeyString() const { return m_key.string; }
+    long GetKeyInteger() const { return m_key.integer; }
 
 #ifdef wxLIST_COMPATIBILITY
     // compatibility methods
index f4846c3d61c5dacf90a186002e7e9128e24c3449..1b96a7e26e70876578f1a765fe9ebf06da78146d 100644 (file)
                                   // be WXDEBUG_NEW (see object.h).
                                   // If this causes problems (e.g. link errors), set this to 0.
 
-// GnuWin32 (b19) can't copy with these operators.
-#ifdef __GNUWIN32__
-#undef wxUSE_GLOBAL_MEMORY_OPERATORS 1
-#define wxUSE_GLOBAL_MEMORY_OPERATORS 0
-#endif
-
 #define REMOVE_UNUSED_ARG 1
                                   // Set this to 0 if your compiler can't cope
                                   // with omission of prototype parameters.
index 22fff97f9cc239b32eef8c67a374d34b1a31d6cc..aed87d86ee69d81c818941cd4dbca617b72db1bd 100644 (file)
@@ -49,6 +49,7 @@ private:                // static member functions
 public:
         wxTime();                         // current time 
         wxTime(clockTy s)                 { sec = s; }
+        void operator=(const wxTime& t)     { sec = t.sec; } // Ordering required for some compilers
         wxTime(const wxTime& t)                 { (*this) = t ; }
                  wxTime(hourTy h, minuteTy m, secondTy s =0, bool dst =FALSE);
                  wxTime(const wxDate&, hourTy h =0, minuteTy m =0, secondTy s=0, bool dst =FALSE);
@@ -61,7 +62,6 @@ public:
         bool operator>=(const wxTime& t) const    { return sec >= t.sec; }
         bool operator==(const wxTime& t) const    { return sec == t.sec; }
         bool operator!=(const wxTime& t) const    { return sec != t.sec; }
-        void operator=(const wxTime& t)     { sec = t.sec; }
         friend wxTime operator+(const wxTime& t, long s)    { return wxTime(t.sec+s); }
                  friend wxTime operator+(long s, const wxTime& t)    { return wxTime(t.sec+s); }
                  long operator-(const wxTime& t) const     { return sec - t.sec; }
index 08f1d7f262d15bc985930c0058baa8cdf27ce1fa..468c694dd6673c04bc8914f0e9137e52ab3c02f3 100644 (file)
@@ -26,7 +26,6 @@ $(OBJDIR):
 
 memcheck$(GUISUFFIX)$(EXESUFF):        $(OBJECTS) $(WXLIB)
        $(CC) $(LDFLAGS) -o memcheck$(GUISUFFIX)$(EXESUFF) $(OBJECTS) $(LDLIBS)
-       $(RSRC) memcheck.$(RESSUFF) memcheck.exe
 
 $(OBJDIR)/memcheck.$(OBJSUFF): memcheck.$(SRCSUFF)
        $(CC) -c $(CPPFLAGS) -o $@ memcheck.$(SRCSUFF)
index cffc8f2cd7e21f74d9b49603ec046431f95973bc..eb06cd8071786ecf58ee4052b02bb8fc1d6ee18b 100644 (file)
@@ -221,13 +221,14 @@ MSWOBJS = \
   wave.$(OBJSUFF) \
   window.$(OBJSUFF)
 
-# OLE not supported yet by GnuWin32 (?)
+# OLE not supported yet by GnuWin32
 #  $(OLEDIR)/droptgt.$(OBJSUFF) \
 #  $(OLEDIR)/dropsrc.$(OBJSUFF) \
 #  $(OLEDIR)/dataobj.$(OBJSUFF) \
 #  $(OLEDIR)/oleutils.$(OBJSUFF) \
 #  $(OLEDIR)/uuid.$(OBJSUFF)
 
+
 OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS)
 
 all:    $(OBJECTS) $(WXLIB)
index c41b680fdb85c85643e63f8d7952bc3bba79224e..00adb89d7da377bb1b96ba20a45de989a4917e5f 100644 (file)
@@ -653,7 +653,7 @@ wxItemResource *wxResourceManager::FindResourceForWindow(wxWindow *win)
     wxWindow *w = (wxWindow *)node->Data();
     if (w == win)
     {
-      return (wxItemResource *)node->key.integer;
+      return (wxItemResource *)node->GetKeyInteger();
     }
   }
   return NULL;
index ef58aaefe6889277200e6bd63df20195a178f0a7..9cdde107dc5223b51a3eb6ad047d6072178f1c44 100644 (file)
@@ -32,6 +32,7 @@
 #if wxUSE_IOSTREAMH
 #if defined(__WXMSW__) && !defined(__GNUWIN32__)
 #include <strstrea.h>
+#include <fstream.h>
 #else
 #include <strstream.h>
 #include <fstream.h>
@@ -41,7 +42,6 @@
 #include <fstream>
 #endif
 
-
 #include "wx/scrolbar.h"
 #include "wx/string.h"
 
index b82e0ccb3742aa742f7b8ecefd573e3ca7350e51..110764e782c97372c6630d01a9ebdb1f46e36873 100644 (file)
@@ -133,7 +133,7 @@ bool wxResourceSymbolTable::WriteIncludeFile(const wxString& filename)
     wxNode* node = m_hashTable.Next();
     while (node)
     {
-        char* str = node->key.string;
+        const char* str = node->GetKeyString();
         int id = (int) node->Data() ;
 
         if (!IsStandardSymbol(str))
@@ -181,7 +181,7 @@ wxString wxResourceSymbolTable::GetSymbolForId(int id)
     wxNode* node = m_hashTable.Next();
     while (node)
     {
-        char* str = node->key.string;
+        const char* str = node->GetKeyString();
         if (str && ( ((int) node->Data()) == id) )
             return wxString(str);
 
@@ -323,7 +323,7 @@ bool wxResourceSymbolTable::FillComboBox(wxComboBox* comboBox)
     wxNode* node = m_hashTable.Next();
     while (node)
     {
-        char* str = node->key.string;
+        const char* str = node->GetKeyString();
 
         comboBox->Append(str);
         node = m_hashTable.Next();
index 6b485e5a6979ab185bfd7a0410c6251c33100227..5be5ca236a2ce72599b8ab49a500805e38b2ec94 100644 (file)
@@ -308,7 +308,7 @@ wxProperty *wxWindowPropertyInfo::GetProperty(wxString& name)
   }
   else if (name == "height")
   {
-    return new wxProperty("width", (long)resource->GetHeight(), "integer");
+    return new wxProperty("height", (long)resource->GetHeight(), "integer");
   }
   else if (name == "id")
   {
index d95005262a956c827c2ce55c7a6df0f520b0ef27..606d83b59b482af3b8bc220eb13960543af63d44 100644 (file)
@@ -438,7 +438,8 @@ bool wxPropertyListView::CreateControls(void)
 #endif
 
   // May need to be changed in future to eliminate clashes with app.
-  panel->SetClientData((char *)this);
+  // WHAT WAS THIS FOR?
+//  panel->SetClientData((char *)this);
 
   // These buttons are at the bottom of the window, but create them now
   // so the constraints are evaluated in the correct order