]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/registry.cpp
Applied a few old patches,
[wxWidgets.git] / src / msw / registry.cpp
index fbdb35b0e852dfd05df94206d2f1fd477bbb2675..fe8897463ec947a417234378e63dfade2c0fef94 100644 (file)
@@ -302,7 +302,7 @@ wxString wxRegKey::GetName(bool bShortPrefix) const
   return str;
 }
 
-#ifdef __GNUWIN32__
+#if defined( __GNUWIN32__ ) && !defined(wxUSE_NORLANDER_HEADERS)
 bool wxRegKey::GetKeyInfo(size_t* pnSubKeys,
                           size_t* pnMaxKeyLen,
                           size_t* pnValues,
@@ -532,6 +532,18 @@ bool wxRegKey::HasValue(const wxChar *szValue) const
   #endif  // WIN16/32
 }
 
+// returns TRUE if this key has any values
+bool wxRegKey::HasValues() const
+{
+  // suppress possible messages from GetFirstValue()
+  wxLogNull nolog;
+  
+  // just call GetFirstValue with dummy parameters
+  wxString str;
+  long     l;
+  return CONST_CAST GetFirstValue(str, l);
+}
+
 // returns TRUE if this key has any subkeys
 bool wxRegKey::HasSubkeys() const
 {
@@ -718,8 +730,7 @@ bool wxRegKey::GetNextValue(wxString& strValueName, long& lIndex) const
     wxChar  szValueName[1024];                  // @@ use RegQueryInfoKey...
     DWORD dwValueLen = WXSIZEOF(szValueName);
 
-    lIndex++;
-    m_dwLastError = RegEnumValue((HKEY) m_hKey, lIndex,
+    m_dwLastError = RegEnumValue((HKEY) m_hKey, lIndex++,
                                  szValueName, &dwValueLen,
                                  RESERVED, 
                                  NULL,            // [out] type