]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/dnd.cpp
Fix for probably rare but potential refcount leak.
[wxWidgets.git] / src / motif / dnd.cpp
index 618c3e46f3aec351c2f6535603a689ae8943df35..8caa37f18b4912fdc1c8b2c1e6c18ce18ee4e178 100644 (file)
@@ -7,10 +7,13 @@
 // Licence:    wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "dnd.h"
 #endif
 
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
 #include "wx/setup.h"
 
 #if wxUSE_DRAG_AND_DROP
@@ -76,7 +79,8 @@ bool wxFileDropTarget::OnDropFiles( long x, long y, size_t nFiles, const char *
 {
   wxLogDebug( "Got %d dropped files.", (int)nFiles );
   wxLogDebug( "At x: %d, y: %d.", (int)x, (int)y );
-  for (size_t i = 0; i < nFiles; i++)
+  size_t i;
+  for (i = 0; i < nFiles; i++)
   {
     wxLogDebug( aszFiles[i] );
   }
@@ -87,7 +91,8 @@ bool wxFileDropTarget::OnDrop(long x, long y, const void *data, size_t size )
 {
   size_t number = 0;
   char *text = (char*) data;
-  for (size_t i = 0; i < size; i++)
+  size_t i;
+  for (i = 0; i < size; i++)
     if (text[i] == 0) number++;
 
   if (number == 0) return TRUE;    
@@ -95,7 +100,7 @@ bool wxFileDropTarget::OnDrop(long x, long y, const void *data, size_t size )
   char **files = new char*[number];
   
   text = (char*) data;
-  for (size_t i = 0; i < number; i++)
+  for ( i = 0; i < number; i++)
   {
     files[i] = text;
     int len = strlen( text );
@@ -162,7 +167,7 @@ wxDropSource::~wxDropSource(void)
 //  if (m_data) delete m_data;
 }
    
-wxDragResult wxDropSource::DoDragDrop( bool WXUNUSED(bAllowMove) )
+wxDragResult wxDropSource::DoDragDrop( int WXUNUSED(flags) )
 {
   //  wxASSERT_MSG( m_data, "wxDragSource: no data" );
 
@@ -217,6 +222,20 @@ void wxDropSource::UnregisterWindow(void)
 }
 #endif
 
+wxPrivateDropTarget::wxPrivateDropTarget()
+{
+    m_id = wxTheApp->GetAppName();
+}
+  
+size_t wxPrivateDropTarget::GetFormatCount() const
+{
+    return 1;
+}
+
+wxDataFormat wxPrivateDropTarget::GetFormat(size_t n) const
+{
+    return wxDF_INVALID;
+}
 
 #endif
       // wxUSE_DRAG_AND_DROP