compilation warning fixes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14903 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2002-04-02 09:59:22 +00:00
parent 21a77f6e50
commit 0fc5dbf52a
6 changed files with 172 additions and 152 deletions

View File

@@ -17,13 +17,13 @@
#pragma hdrstop #pragma hdrstop
#endif #endif
#include "wx/defs.h"
#if wxUSE_IMAGE #if wxUSE_IMAGE
#include "wx/image.h" #include "wx/image.h"
#include "wx/brush.h"
#include "wx/pen.h" #ifndef WX_PRECOMP
#include "wx/brush.h"
#endif
// DoFloodFill // DoFloodFill
// Fills with the colour extracted from fillBrush, starting at x,y until either // Fills with the colour extracted from fillBrush, starting at x,y until either

View File

@@ -147,72 +147,77 @@ wxCursor::wxCursor( const wxCursor &cursor )
} }
#if wxUSE_IMAGE #if wxUSE_IMAGE
wxCursor::wxCursor( const wxImage & image ) wxCursor::wxCursor( const wxImage & image )
{ {
unsigned char * rgbBits = image.GetData(); unsigned char * rgbBits = image.GetData();
int w = image.GetWidth() ; int w = image.GetWidth() ;
int h = image.GetHeight() ; int h = image.GetHeight();
bool bHasMask = image.HasMask() ; bool bHasMask = image.HasMask();
int imagebitcount = (w*h)/8; int imagebitcount = (w*h)/8;
unsigned char r, g, b ;
unsigned char * bits = new unsigned char [imagebitcount]; unsigned char * bits = new unsigned char [imagebitcount];
unsigned char * maskBits = new unsigned char [imagebitcount]; unsigned char * maskBits = new unsigned char [imagebitcount];
int i,j, i8; unsigned char c, cMask; int i, j, i8; unsigned char c, cMask;
for (i=0; i<imagebitcount; i++) for (i=0; i<imagebitcount; i++)
{ {
bits[i] = 0; bits[i] = 0;
i8 = i * 8; i8 = i * 8;
cMask = 1; cMask = 1;
for (j=0; j<8; j++) for (j=0; j<8; j++)
{ {
// possible overflow if we do the summation first ? // possible overflow if we do the summation first ?
c = rgbBits[(i8+j)*3]/3 + rgbBits[(i8+j)*3+1]/3 + rgbBits[(i8+j)*3+2]/3 ; c = rgbBits[(i8+j)*3]/3 + rgbBits[(i8+j)*3+1]/3 + rgbBits[(i8+j)*3+2]/3;
//if average value is > mid grey //if average value is > mid grey
if (c>127) if (c>127)
bits[i] = bits[i] | cMask ; bits[i] = bits[i] | cMask;
cMask = cMask * 2 ; cMask = cMask * 2;
}
} }
}
unsigned long keyMaskColor;
if (bHasMask) if (bHasMask)
{ {
r = image.GetMaskRed() ; unsigned char
g = image.GetMaskGreen() ; r = image.GetMaskRed(),
b = image.GetMaskBlue() ; g = image.GetMaskGreen(),
b = image.GetMaskBlue();
for (i=0; i<imagebitcount; i++) for (i=0; i<imagebitcount; i++)
{ {
maskBits[i] = 0x0; maskBits[i] = 0x0;
i8 = i * 8; i8 = i * 8;
cMask = 1; cMask = 1;
for (j=0; j<8; j++) for (j=0; j<8; j++)
{ {
if (rgbBits[(i8+j)*3] != r || rgbBits[(i8+j)*3+1] != g || rgbBits[(i8+j)*3+2] != b) if (rgbBits[(i8+j)*3] != r || rgbBits[(i8+j)*3+1] != g || rgbBits[(i8+j)*3+2] != b)
maskBits[i] = maskBits[i] | cMask ; maskBits[i] = maskBits[i] | cMask;
cMask = cMask * 2 ; cMask = cMask * 2;
} }
} }
}
else keyMaskColor = (r << 16) | (g << 8) | b;
{ }
else // no mask
{
for (i=0; i<imagebitcount; i++) for (i=0; i<imagebitcount; i++)
maskBits[i]= 0xFF ; maskBits[i] = 0xFF;
}
//find the most frequent color(s) // init it to avoid compiler warnings
//it seems a waste of effort to copy the image keyMaskColor = 0;
//but otherwise we need to remove the const modifier ?? }
// find the most frequent color(s) it seems a waste of effort to copy the
// image but otherwise we need to remove the const modifier ??
wxImage tmpImage = image.Copy(); wxImage tmpImage = image.Copy();
wxImageHistogram histogram; wxImageHistogram histogram;
//colors as rrggbb // colors as rrggbb
unsigned long key; unsigned long key;
unsigned long value; unsigned long value;
unsigned long keyMaskColor = 0;
if (bHasMask)
keyMaskColor = (r << 16) | (g << 8) | b;
tmpImage.ComputeHistogram(histogram); tmpImage.ComputeHistogram(histogram);
@@ -243,11 +248,11 @@ wxCursor::wxCursor( const wxImage & image )
wxColour fg = wxColour ( (unsigned char)(MostFreqCol >> 16), wxColour fg = wxColour ( (unsigned char)(MostFreqCol >> 16),
(unsigned char)(MostFreqCol >> 8), (unsigned char)(MostFreqCol >> 8),
(unsigned char)(MostFreqCol) ) ; (unsigned char)(MostFreqCol) );
wxColour bg = wxColour ( (unsigned char)(NextFreqCol >> 16), wxColour bg = wxColour ( (unsigned char)(NextFreqCol >> 16),
(unsigned char)(NextFreqCol >> 8), (unsigned char)(NextFreqCol >> 8),
(unsigned char)(NextFreqCol) ) ; (unsigned char)(NextFreqCol) );
int hotSpotX=0; int hotSpotX=0;
int hotSpotY=0; int hotSpotY=0;
@@ -274,10 +279,11 @@ wxCursor::wxCursor( const wxImage & image )
gdk_bitmap_unref( data ); gdk_bitmap_unref( data );
gdk_bitmap_unref( mask ); gdk_bitmap_unref( mask );
delete [] bits ; delete [] bits;
delete [] maskBits; delete [] maskBits;
} }
#endif
#endif // wxUSE_IMAGE
wxCursor::~wxCursor() wxCursor::~wxCursor()
{ {

View File

@@ -25,6 +25,7 @@
#include "wx/utils.h" #include "wx/utils.h"
#include "wx/dialog.h" #include "wx/dialog.h"
#include "wx/msgdlg.h" #include "wx/msgdlg.h"
#include "wx/module.h"
#if wxUSE_DRAG_AND_DROP #if wxUSE_DRAG_AND_DROP
#include "wx/dnd.h" #include "wx/dnd.h"
@@ -39,7 +40,7 @@
#endif // wxUSE_CARET #endif // wxUSE_CARET
#if wxUSE_TEXTCTRL #if wxUSE_TEXTCTRL
#include "wx/textctrl.h" #include "wx/textctrl.h"
#endif #endif
#include "wx/menu.h" #include "wx/menu.h"
@@ -487,8 +488,8 @@ gint gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *gdk_even
#ifdef __WXGTK20__ #ifdef __WXGTK20__
(* GTK_WIDGET_CLASS (pizza_parent_class)->expose_event) (widget, gdk_event); (* GTK_WIDGET_CLASS (pizza_parent_class)->expose_event) (widget, gdk_event);
#endif #endif
return TRUE; return TRUE;
} }
@@ -829,12 +830,12 @@ static int gtk_window_expose_callback( GtkWidget *widget,
// Actual redrawing takes place in idle time. // Actual redrawing takes place in idle time.
win->Update(); win->Update();
#ifdef __WXGTK20__ #ifdef __WXGTK20__
(* GTK_WIDGET_CLASS (pizza_parent_class)->expose_event) (widget, gdk_event); (* GTK_WIDGET_CLASS (pizza_parent_class)->expose_event) (widget, gdk_event);
#endif #endif
return TRUE; return TRUE;
} }
@@ -934,7 +935,7 @@ static void gtk_window_draw_callback( GtkWidget *widget,
win->GetUpdateRegion().Union( rect->x, rect->y, rect->width, rect->height ); win->GetUpdateRegion().Union( rect->x, rect->y, rect->width, rect->height );
// Actual redrawing takes place in idle time. // Actual redrawing takes place in idle time.
win->Update(); win->Update();
#ifndef __WXUNIVERSAL__ #ifndef __WXUNIVERSAL__
@@ -2366,7 +2367,7 @@ bool wxWindowGTK::Create( wxWindow *parent,
m_vAdjust = gtk_range_get_adjustment( GTK_RANGE(scrolledWindow->vscrollbar) ); m_vAdjust = gtk_range_get_adjustment( GTK_RANGE(scrolledWindow->vscrollbar) );
m_wxwindow = gtk_pizza_new(); m_wxwindow = gtk_pizza_new();
#ifndef __WXUNIVERSAL__ #ifndef __WXUNIVERSAL__
GtkPizza *pizza = GTK_PIZZA(m_wxwindow); GtkPizza *pizza = GTK_PIZZA(m_wxwindow);
@@ -2547,7 +2548,7 @@ void wxWindowGTK::PostCreation()
#ifndef __WXGTK20__ #ifndef __WXGTK20__
gtk_signal_connect( GTK_OBJECT(m_wxwindow), "draw", gtk_signal_connect( GTK_OBJECT(m_wxwindow), "draw",
GTK_SIGNAL_FUNC(gtk_window_draw_callback), (gpointer)this ); GTK_SIGNAL_FUNC(gtk_window_draw_callback), (gpointer)this );
if (HasFlag(wxNO_FULL_REPAINT_ON_RESIZE)) if (HasFlag(wxNO_FULL_REPAINT_ON_RESIZE))
{ {
gtk_signal_connect( GTK_OBJECT(m_wxwindow), "event", gtk_signal_connect( GTK_OBJECT(m_wxwindow), "event",
@@ -2773,7 +2774,7 @@ void wxWindowGTK::OnInternalIdle()
{ {
// Update invalidated regions. // Update invalidated regions.
Update(); Update();
// Synthetize activate events. // Synthetize activate events.
if ( g_sendActivateEvent != -1 ) if ( g_sendActivateEvent != -1 )
{ {
@@ -3387,14 +3388,14 @@ void wxWindowGTK::GtkSendPaintEvents()
{ {
wxWindowDC dc( (wxWindow*)this ); wxWindowDC dc( (wxWindow*)this );
dc.SetClippingRegion( m_clearRegion ); dc.SetClippingRegion( m_clearRegion );
wxEraseEvent erase_event( GetId(), &dc ); wxEraseEvent erase_event( GetId(), &dc );
erase_event.SetEventObject( this ); erase_event.SetEventObject( this );
if (!GetEventHandler()->ProcessEvent(erase_event)) if (!GetEventHandler()->ProcessEvent(erase_event))
{ {
gdk_gc_set_foreground( g_eraseGC, m_backgroundColour.GetColor() ); gdk_gc_set_foreground( g_eraseGC, m_backgroundColour.GetColor() );
wxRegionIterator upd( m_clearRegion ); wxRegionIterator upd( m_clearRegion );
while (upd) while (upd)
{ {
@@ -3421,9 +3422,9 @@ void wxWindowGTK::GtkSendPaintEvents()
// The following code will result in all window-less widgets // The following code will result in all window-less widgets
// being redrawn because the wxWindows class is allowed to // being redrawn because the wxWindows class is allowed to
// paint over the window-less widgets. // paint over the window-less widgets.
GtkPizza *pizza = GTK_PIZZA(m_wxwindow); GtkPizza *pizza = GTK_PIZZA(m_wxwindow);
GList *children = pizza->children; GList *children = pizza->children;
while (children) while (children)
{ {
@@ -3435,12 +3436,12 @@ void wxWindowGTK::GtkSendPaintEvents()
{ {
// Get intersection of widget area and update region // Get intersection of widget area and update region
wxRegion region( m_updateRegion ); wxRegion region( m_updateRegion );
GdkEventExpose gdk_event; GdkEventExpose gdk_event;
gdk_event.type = GDK_EXPOSE; gdk_event.type = GDK_EXPOSE;
gdk_event.window = pizza->bin_window; gdk_event.window = pizza->bin_window;
gdk_event.count = 0; gdk_event.count = 0;
wxRegionIterator upd( m_updateRegion ); wxRegionIterator upd( m_updateRegion );
while (upd) while (upd)
{ {
@@ -3449,12 +3450,12 @@ void wxWindowGTK::GtkSendPaintEvents()
rect.y = upd.GetY(); rect.y = upd.GetY();
rect.width = upd.GetWidth(); rect.width = upd.GetWidth();
rect.height = upd.GetHeight(); rect.height = upd.GetHeight();
if (gtk_widget_intersect (child->widget, &rect, &gdk_event.area)) if (gtk_widget_intersect (child->widget, &rect, &gdk_event.area))
{ {
gtk_widget_event (child->widget, (GdkEvent*) &gdk_event); gtk_widget_event (child->widget, (GdkEvent*) &gdk_event);
} }
upd ++; upd ++;
} }
} }
@@ -4063,42 +4064,42 @@ void wxWindowGTK::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) )
// No scrolling requested. // No scrolling requested.
if ((dx == 0) && (dy == 0)) return; if ((dx == 0) && (dy == 0)) return;
#ifndef __WXGTK20__ #ifndef __WXGTK20__
if (!m_updateRegion.IsEmpty()) if (!m_updateRegion.IsEmpty())
{ {
m_updateRegion.Offset( dx, dy ); m_updateRegion.Offset( dx, dy );
int cw = 0; int cw = 0;
int ch = 0; int ch = 0;
GetClientSize( &cw, &ch ); GetClientSize( &cw, &ch );
m_updateRegion.Intersect( 0, 0, cw, ch ); m_updateRegion.Intersect( 0, 0, cw, ch );
} }
if (!m_clearRegion.IsEmpty()) if (!m_clearRegion.IsEmpty())
{ {
m_clearRegion.Offset( dx, dy ); m_clearRegion.Offset( dx, dy );
int cw = 0; int cw = 0;
int ch = 0; int ch = 0;
GetClientSize( &cw, &ch ); GetClientSize( &cw, &ch );
m_clearRegion.Intersect( 0, 0, cw, ch ); m_clearRegion.Intersect( 0, 0, cw, ch );
} }
m_clipPaintRegion = TRUE; m_clipPaintRegion = TRUE;
gtk_pizza_scroll( GTK_PIZZA(m_wxwindow), -dx, -dy ); gtk_pizza_scroll( GTK_PIZZA(m_wxwindow), -dx, -dy );
m_clipPaintRegion = FALSE; m_clipPaintRegion = FALSE;
#else #else
gdk_window_scroll( GTK_PIZZA(m_wxwindow)->bin_window, dx, dy ); gdk_window_scroll( GTK_PIZZA(m_wxwindow)->bin_window, dx, dy );
GTK_PIZZA(m_wxwindow)->xoffset += dx; GTK_PIZZA(m_wxwindow)->xoffset += dx;
GTK_PIZZA(m_wxwindow)->yoffset += dy; GTK_PIZZA(m_wxwindow)->yoffset += dy;
#endif #endif
} }
@@ -4163,7 +4164,7 @@ bool wxWinModule::OnInit()
{ {
g_eraseGC = gdk_gc_new( GDK_ROOT_PARENT() ); g_eraseGC = gdk_gc_new( GDK_ROOT_PARENT() );
gdk_gc_set_fill( g_eraseGC, GDK_SOLID ); gdk_gc_set_fill( g_eraseGC, GDK_SOLID );
return TRUE; return TRUE;
} }

View File

@@ -147,72 +147,77 @@ wxCursor::wxCursor( const wxCursor &cursor )
} }
#if wxUSE_IMAGE #if wxUSE_IMAGE
wxCursor::wxCursor( const wxImage & image ) wxCursor::wxCursor( const wxImage & image )
{ {
unsigned char * rgbBits = image.GetData(); unsigned char * rgbBits = image.GetData();
int w = image.GetWidth() ; int w = image.GetWidth() ;
int h = image.GetHeight() ; int h = image.GetHeight();
bool bHasMask = image.HasMask() ; bool bHasMask = image.HasMask();
int imagebitcount = (w*h)/8; int imagebitcount = (w*h)/8;
unsigned char r, g, b ;
unsigned char * bits = new unsigned char [imagebitcount]; unsigned char * bits = new unsigned char [imagebitcount];
unsigned char * maskBits = new unsigned char [imagebitcount]; unsigned char * maskBits = new unsigned char [imagebitcount];
int i,j, i8; unsigned char c, cMask; int i, j, i8; unsigned char c, cMask;
for (i=0; i<imagebitcount; i++) for (i=0; i<imagebitcount; i++)
{ {
bits[i] = 0; bits[i] = 0;
i8 = i * 8; i8 = i * 8;
cMask = 1; cMask = 1;
for (j=0; j<8; j++) for (j=0; j<8; j++)
{ {
// possible overflow if we do the summation first ? // possible overflow if we do the summation first ?
c = rgbBits[(i8+j)*3]/3 + rgbBits[(i8+j)*3+1]/3 + rgbBits[(i8+j)*3+2]/3 ; c = rgbBits[(i8+j)*3]/3 + rgbBits[(i8+j)*3+1]/3 + rgbBits[(i8+j)*3+2]/3;
//if average value is > mid grey //if average value is > mid grey
if (c>127) if (c>127)
bits[i] = bits[i] | cMask ; bits[i] = bits[i] | cMask;
cMask = cMask * 2 ; cMask = cMask * 2;
}
} }
}
unsigned long keyMaskColor;
if (bHasMask) if (bHasMask)
{ {
r = image.GetMaskRed() ; unsigned char
g = image.GetMaskGreen() ; r = image.GetMaskRed(),
b = image.GetMaskBlue() ; g = image.GetMaskGreen(),
b = image.GetMaskBlue();
for (i=0; i<imagebitcount; i++) for (i=0; i<imagebitcount; i++)
{ {
maskBits[i] = 0x0; maskBits[i] = 0x0;
i8 = i * 8; i8 = i * 8;
cMask = 1; cMask = 1;
for (j=0; j<8; j++) for (j=0; j<8; j++)
{ {
if (rgbBits[(i8+j)*3] != r || rgbBits[(i8+j)*3+1] != g || rgbBits[(i8+j)*3+2] != b) if (rgbBits[(i8+j)*3] != r || rgbBits[(i8+j)*3+1] != g || rgbBits[(i8+j)*3+2] != b)
maskBits[i] = maskBits[i] | cMask ; maskBits[i] = maskBits[i] | cMask;
cMask = cMask * 2 ; cMask = cMask * 2;
} }
} }
}
else keyMaskColor = (r << 16) | (g << 8) | b;
{ }
else // no mask
{
for (i=0; i<imagebitcount; i++) for (i=0; i<imagebitcount; i++)
maskBits[i]= 0xFF ; maskBits[i] = 0xFF;
}
//find the most frequent color(s) // init it to avoid compiler warnings
//it seems a waste of effort to copy the image keyMaskColor = 0;
//but otherwise we need to remove the const modifier ?? }
// find the most frequent color(s) it seems a waste of effort to copy the
// image but otherwise we need to remove the const modifier ??
wxImage tmpImage = image.Copy(); wxImage tmpImage = image.Copy();
wxImageHistogram histogram; wxImageHistogram histogram;
//colors as rrggbb // colors as rrggbb
unsigned long key; unsigned long key;
unsigned long value; unsigned long value;
unsigned long keyMaskColor = 0;
if (bHasMask)
keyMaskColor = (r << 16) | (g << 8) | b;
tmpImage.ComputeHistogram(histogram); tmpImage.ComputeHistogram(histogram);
@@ -243,11 +248,11 @@ wxCursor::wxCursor( const wxImage & image )
wxColour fg = wxColour ( (unsigned char)(MostFreqCol >> 16), wxColour fg = wxColour ( (unsigned char)(MostFreqCol >> 16),
(unsigned char)(MostFreqCol >> 8), (unsigned char)(MostFreqCol >> 8),
(unsigned char)(MostFreqCol) ) ; (unsigned char)(MostFreqCol) );
wxColour bg = wxColour ( (unsigned char)(NextFreqCol >> 16), wxColour bg = wxColour ( (unsigned char)(NextFreqCol >> 16),
(unsigned char)(NextFreqCol >> 8), (unsigned char)(NextFreqCol >> 8),
(unsigned char)(NextFreqCol) ) ; (unsigned char)(NextFreqCol) );
int hotSpotX=0; int hotSpotX=0;
int hotSpotY=0; int hotSpotY=0;
@@ -274,10 +279,11 @@ wxCursor::wxCursor( const wxImage & image )
gdk_bitmap_unref( data ); gdk_bitmap_unref( data );
gdk_bitmap_unref( mask ); gdk_bitmap_unref( mask );
delete [] bits ; delete [] bits;
delete [] maskBits; delete [] maskBits;
} }
#endif
#endif // wxUSE_IMAGE
wxCursor::~wxCursor() wxCursor::~wxCursor()
{ {

View File

@@ -25,6 +25,7 @@
#include "wx/utils.h" #include "wx/utils.h"
#include "wx/dialog.h" #include "wx/dialog.h"
#include "wx/msgdlg.h" #include "wx/msgdlg.h"
#include "wx/module.h"
#if wxUSE_DRAG_AND_DROP #if wxUSE_DRAG_AND_DROP
#include "wx/dnd.h" #include "wx/dnd.h"
@@ -39,7 +40,7 @@
#endif // wxUSE_CARET #endif // wxUSE_CARET
#if wxUSE_TEXTCTRL #if wxUSE_TEXTCTRL
#include "wx/textctrl.h" #include "wx/textctrl.h"
#endif #endif
#include "wx/menu.h" #include "wx/menu.h"
@@ -487,8 +488,8 @@ gint gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *gdk_even
#ifdef __WXGTK20__ #ifdef __WXGTK20__
(* GTK_WIDGET_CLASS (pizza_parent_class)->expose_event) (widget, gdk_event); (* GTK_WIDGET_CLASS (pizza_parent_class)->expose_event) (widget, gdk_event);
#endif #endif
return TRUE; return TRUE;
} }
@@ -829,12 +830,12 @@ static int gtk_window_expose_callback( GtkWidget *widget,
// Actual redrawing takes place in idle time. // Actual redrawing takes place in idle time.
win->Update(); win->Update();
#ifdef __WXGTK20__ #ifdef __WXGTK20__
(* GTK_WIDGET_CLASS (pizza_parent_class)->expose_event) (widget, gdk_event); (* GTK_WIDGET_CLASS (pizza_parent_class)->expose_event) (widget, gdk_event);
#endif #endif
return TRUE; return TRUE;
} }
@@ -934,7 +935,7 @@ static void gtk_window_draw_callback( GtkWidget *widget,
win->GetUpdateRegion().Union( rect->x, rect->y, rect->width, rect->height ); win->GetUpdateRegion().Union( rect->x, rect->y, rect->width, rect->height );
// Actual redrawing takes place in idle time. // Actual redrawing takes place in idle time.
win->Update(); win->Update();
#ifndef __WXUNIVERSAL__ #ifndef __WXUNIVERSAL__
@@ -2366,7 +2367,7 @@ bool wxWindowGTK::Create( wxWindow *parent,
m_vAdjust = gtk_range_get_adjustment( GTK_RANGE(scrolledWindow->vscrollbar) ); m_vAdjust = gtk_range_get_adjustment( GTK_RANGE(scrolledWindow->vscrollbar) );
m_wxwindow = gtk_pizza_new(); m_wxwindow = gtk_pizza_new();
#ifndef __WXUNIVERSAL__ #ifndef __WXUNIVERSAL__
GtkPizza *pizza = GTK_PIZZA(m_wxwindow); GtkPizza *pizza = GTK_PIZZA(m_wxwindow);
@@ -2547,7 +2548,7 @@ void wxWindowGTK::PostCreation()
#ifndef __WXGTK20__ #ifndef __WXGTK20__
gtk_signal_connect( GTK_OBJECT(m_wxwindow), "draw", gtk_signal_connect( GTK_OBJECT(m_wxwindow), "draw",
GTK_SIGNAL_FUNC(gtk_window_draw_callback), (gpointer)this ); GTK_SIGNAL_FUNC(gtk_window_draw_callback), (gpointer)this );
if (HasFlag(wxNO_FULL_REPAINT_ON_RESIZE)) if (HasFlag(wxNO_FULL_REPAINT_ON_RESIZE))
{ {
gtk_signal_connect( GTK_OBJECT(m_wxwindow), "event", gtk_signal_connect( GTK_OBJECT(m_wxwindow), "event",
@@ -2773,7 +2774,7 @@ void wxWindowGTK::OnInternalIdle()
{ {
// Update invalidated regions. // Update invalidated regions.
Update(); Update();
// Synthetize activate events. // Synthetize activate events.
if ( g_sendActivateEvent != -1 ) if ( g_sendActivateEvent != -1 )
{ {
@@ -3387,14 +3388,14 @@ void wxWindowGTK::GtkSendPaintEvents()
{ {
wxWindowDC dc( (wxWindow*)this ); wxWindowDC dc( (wxWindow*)this );
dc.SetClippingRegion( m_clearRegion ); dc.SetClippingRegion( m_clearRegion );
wxEraseEvent erase_event( GetId(), &dc ); wxEraseEvent erase_event( GetId(), &dc );
erase_event.SetEventObject( this ); erase_event.SetEventObject( this );
if (!GetEventHandler()->ProcessEvent(erase_event)) if (!GetEventHandler()->ProcessEvent(erase_event))
{ {
gdk_gc_set_foreground( g_eraseGC, m_backgroundColour.GetColor() ); gdk_gc_set_foreground( g_eraseGC, m_backgroundColour.GetColor() );
wxRegionIterator upd( m_clearRegion ); wxRegionIterator upd( m_clearRegion );
while (upd) while (upd)
{ {
@@ -3421,9 +3422,9 @@ void wxWindowGTK::GtkSendPaintEvents()
// The following code will result in all window-less widgets // The following code will result in all window-less widgets
// being redrawn because the wxWindows class is allowed to // being redrawn because the wxWindows class is allowed to
// paint over the window-less widgets. // paint over the window-less widgets.
GtkPizza *pizza = GTK_PIZZA(m_wxwindow); GtkPizza *pizza = GTK_PIZZA(m_wxwindow);
GList *children = pizza->children; GList *children = pizza->children;
while (children) while (children)
{ {
@@ -3435,12 +3436,12 @@ void wxWindowGTK::GtkSendPaintEvents()
{ {
// Get intersection of widget area and update region // Get intersection of widget area and update region
wxRegion region( m_updateRegion ); wxRegion region( m_updateRegion );
GdkEventExpose gdk_event; GdkEventExpose gdk_event;
gdk_event.type = GDK_EXPOSE; gdk_event.type = GDK_EXPOSE;
gdk_event.window = pizza->bin_window; gdk_event.window = pizza->bin_window;
gdk_event.count = 0; gdk_event.count = 0;
wxRegionIterator upd( m_updateRegion ); wxRegionIterator upd( m_updateRegion );
while (upd) while (upd)
{ {
@@ -3449,12 +3450,12 @@ void wxWindowGTK::GtkSendPaintEvents()
rect.y = upd.GetY(); rect.y = upd.GetY();
rect.width = upd.GetWidth(); rect.width = upd.GetWidth();
rect.height = upd.GetHeight(); rect.height = upd.GetHeight();
if (gtk_widget_intersect (child->widget, &rect, &gdk_event.area)) if (gtk_widget_intersect (child->widget, &rect, &gdk_event.area))
{ {
gtk_widget_event (child->widget, (GdkEvent*) &gdk_event); gtk_widget_event (child->widget, (GdkEvent*) &gdk_event);
} }
upd ++; upd ++;
} }
} }
@@ -4063,42 +4064,42 @@ void wxWindowGTK::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) )
// No scrolling requested. // No scrolling requested.
if ((dx == 0) && (dy == 0)) return; if ((dx == 0) && (dy == 0)) return;
#ifndef __WXGTK20__ #ifndef __WXGTK20__
if (!m_updateRegion.IsEmpty()) if (!m_updateRegion.IsEmpty())
{ {
m_updateRegion.Offset( dx, dy ); m_updateRegion.Offset( dx, dy );
int cw = 0; int cw = 0;
int ch = 0; int ch = 0;
GetClientSize( &cw, &ch ); GetClientSize( &cw, &ch );
m_updateRegion.Intersect( 0, 0, cw, ch ); m_updateRegion.Intersect( 0, 0, cw, ch );
} }
if (!m_clearRegion.IsEmpty()) if (!m_clearRegion.IsEmpty())
{ {
m_clearRegion.Offset( dx, dy ); m_clearRegion.Offset( dx, dy );
int cw = 0; int cw = 0;
int ch = 0; int ch = 0;
GetClientSize( &cw, &ch ); GetClientSize( &cw, &ch );
m_clearRegion.Intersect( 0, 0, cw, ch ); m_clearRegion.Intersect( 0, 0, cw, ch );
} }
m_clipPaintRegion = TRUE; m_clipPaintRegion = TRUE;
gtk_pizza_scroll( GTK_PIZZA(m_wxwindow), -dx, -dy ); gtk_pizza_scroll( GTK_PIZZA(m_wxwindow), -dx, -dy );
m_clipPaintRegion = FALSE; m_clipPaintRegion = FALSE;
#else #else
gdk_window_scroll( GTK_PIZZA(m_wxwindow)->bin_window, dx, dy ); gdk_window_scroll( GTK_PIZZA(m_wxwindow)->bin_window, dx, dy );
GTK_PIZZA(m_wxwindow)->xoffset += dx; GTK_PIZZA(m_wxwindow)->xoffset += dx;
GTK_PIZZA(m_wxwindow)->yoffset += dy; GTK_PIZZA(m_wxwindow)->yoffset += dy;
#endif #endif
} }
@@ -4163,7 +4164,7 @@ bool wxWinModule::OnInit()
{ {
g_eraseGC = gdk_gc_new( GDK_ROOT_PARENT() ); g_eraseGC = gdk_gc_new( GDK_ROOT_PARENT() );
gdk_gc_set_fill( g_eraseGC, GDK_SOLID ); gdk_gc_set_fill( g_eraseGC, GDK_SOLID );
return TRUE; return TRUE;
} }

View File

@@ -59,6 +59,12 @@ void wxSetIconsX11( WXDisplay* display, WXWindow window,
gMask = image.GetMaskGreen(); gMask = image.GetMaskGreen();
bMask = image.GetMaskBlue(); bMask = image.GetMaskBlue();
} }
else // no mask, but still init the variables to avoid warnings
{
rMask =
gMask =
bMask = 0;
}
*ptr++ = width; *ptr++ = width;
*ptr++ = height; *ptr++ = height;