Fixed missing paint events when overriding DoMoveWindow()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2000-03-14 20:08:31 +00:00
parent 07a9af327e
commit 8cb9f0d0f8
9 changed files with 99 additions and 15 deletions

View File

@@ -46,10 +46,13 @@
#include <gtk/gtk.h>
#include <gdk/gdkprivate.h>
#include <gdk/gdkkeysyms.h>
#include <wx/gtk/win_gtk.h>
#include <gdk/gdkx.h>
#include <gtk/gtk.h>
#include <gtk/gtkprivate.h>
#include "wx/gtk/win_gtk.h"
//-----------------------------------------------------------------------------
// documentation on internals
//-----------------------------------------------------------------------------
@@ -621,7 +624,7 @@ static int gtk_window_expose_callback( GtkWidget *widget, GdkEventExpose *gdk_ev
wxapp_install_idle_handler();
/*
if (win->GetName() == wxT("status_line"))
if (win->GetName() == wxT("panel"))
{
wxPrintf( wxT("OnExpose from ") );
if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
@@ -721,7 +724,7 @@ static void gtk_window_draw_callback( GtkWidget *widget, GdkRectangle *rect, wxW
wxapp_install_idle_handler();
/*
if (win->GetName() == wxT("status_line"))
if (win->GetName() == wxT("panel"))
{
wxPrintf( wxT("OnDraw from ") );
if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
@@ -737,6 +740,7 @@ static void gtk_window_draw_callback( GtkWidget *widget, GdkRectangle *rect, wxW
if (!win->m_queuedFullRedraw)
{
if (!(GTK_WIDGET_APP_PAINTABLE (widget)) &&
(pizza->clear_on_draw))
{
@@ -2571,8 +2575,14 @@ void wxWindow::OnInternalIdle()
the actual size of window, in which case all expose events that resulted
from resizing the window have been sent (and discarded) and we can
now do our full redraw and switch on expose event handling again. */
if ((m_width == m_widget->allocation.width) && (m_height == m_widget->allocation.height))
bool child_already_resized = FALSE;
if (m_isFrame)
child_already_resized = gtk_pizza_child_resized( GTK_PIZZA(m_wxwindow->parent), m_wxwindow );
else
child_already_resized = gtk_pizza_child_resized( GTK_PIZZA(m_widget->parent), m_widget );
if (child_already_resized)
{
m_queuedFullRedraw = FALSE;
m_updateRegion.Clear();