list ctrl and tree ctrl didn't like the new focus code,

mem clean uop crash fixed.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2000-02-15 18:38:19 +00:00
parent f87ac92e02
commit bce1406bff
7 changed files with 38 additions and 15 deletions

View File

@@ -5,7 +5,7 @@ static char *icon2_xpm[] = {
/* colors */ /* colors */
". c #000000", ". c #000000",
"# c #ff0000", "# c #ff0000",
"a c #ffffff", "a c None",
/* pixels */ /* pixels */
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",

View File

@@ -7,7 +7,7 @@ static char *icon3_xpm[] = {
"# c #c0c0c0", "# c #c0c0c0",
"a c #808080", "a c #808080",
"b c #ffff00", "b c #ffff00",
"c c #ffffff", "c c None",
/* pixels */ /* pixels */
"cccccccccccccccccccccccccccccccc", "cccccccccccccccccccccccccccccccc",
"cccccccccccccccccccccccccccccccc", "cccccccccccccccccccccccccccccccc",

View File

@@ -5,7 +5,7 @@ static char *icon5_xpm[] = {
/* colors */ /* colors */
". c #000000", ". c #000000",
"# c #808000", "# c #808000",
"a c #ffffff", "a c None",
"b c #ffff00", "b c #ffff00",
/* pixels */ /* pixels */
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",

View File

@@ -1060,24 +1060,33 @@ void wxListTextCtrl::OnChar( wxKeyEvent &event )
{ {
(*m_accept) = TRUE; (*m_accept) = TRUE;
(*m_res) = GetValue(); (*m_res) = GetValue();
m_owner->SetFocus();
if (!wxPendingDelete.Member(this))
wxPendingDelete.Append(this);
if ((*m_accept) && ((*m_res) != m_startValue))
m_owner->OnRenameAccept();
return; return;
} }
if (event.m_keyCode == WXK_ESCAPE) if (event.m_keyCode == WXK_ESCAPE)
{ {
(*m_accept) = FALSE; (*m_accept) = FALSE;
(*m_res) = ""; (*m_res) = "";
m_owner->SetFocus();
if (!wxPendingDelete.Member(this))
wxPendingDelete.Append(this);
return; return;
} }
event.Skip(); event.Skip();
} }
void wxListTextCtrl::OnKillFocus( wxFocusEvent &WXUNUSED(event) ) void wxListTextCtrl::OnKillFocus( wxFocusEvent &WXUNUSED(event) )
{ {
if (wxPendingDelete.Member(this)) return; if (!wxPendingDelete.Member(this))
wxPendingDelete.Append(this);
wxPendingDelete.Append(this);
if ((*m_accept) && ((*m_res) != m_startValue)) if ((*m_accept) && ((*m_res) != m_startValue))
m_owner->OnRenameAccept(); m_owner->OnRenameAccept();

View File

@@ -252,14 +252,23 @@ void wxTreeTextCtrl::OnChar( wxKeyEvent &event )
{ {
(*m_accept) = TRUE; (*m_accept) = TRUE;
(*m_res) = GetValue(); (*m_res) = GetValue();
m_owner->SetFocus();
if (!wxPendingDelete.Member(this))
wxPendingDelete.Append(this);
if ((*m_accept) && ((*m_res) != m_startValue))
m_owner->OnRenameAccept();
return; return;
} }
if (event.m_keyCode == WXK_ESCAPE) if (event.m_keyCode == WXK_ESCAPE)
{ {
(*m_accept) = FALSE; (*m_accept) = FALSE;
(*m_res) = ""; (*m_res) = "";
m_owner->SetFocus();
if (!wxPendingDelete.Member(this))
wxPendingDelete.Append(this);
return; return;
} }
event.Skip(); event.Skip();
@@ -267,9 +276,8 @@ void wxTreeTextCtrl::OnChar( wxKeyEvent &event )
void wxTreeTextCtrl::OnKillFocus( wxFocusEvent &WXUNUSED(event) ) void wxTreeTextCtrl::OnKillFocus( wxFocusEvent &WXUNUSED(event) )
{ {
if (wxPendingDelete.Member(this)) return; if (!wxPendingDelete.Member(this))
wxPendingDelete.Append(this);
wxPendingDelete.Append(this);
if ((*m_accept) && ((*m_res) != m_startValue)) if ((*m_accept) && ((*m_res) != m_startValue))
m_owner->OnRenameAccept(); m_owner->OnRenameAccept();

View File

@@ -2147,7 +2147,10 @@ wxWindow::~wxWindow()
if (m_widgetStyle) if (m_widgetStyle)
{ {
gtk_style_unref( m_widgetStyle ); // don't delete if it's a pixmap theme style
if (!m_widgetStyle->engine_data)
gtk_style_unref( m_widgetStyle );
m_widgetStyle = (GtkStyle*) NULL; m_widgetStyle = (GtkStyle*) NULL;
} }

View File

@@ -2147,7 +2147,10 @@ wxWindow::~wxWindow()
if (m_widgetStyle) if (m_widgetStyle)
{ {
gtk_style_unref( m_widgetStyle ); // don't delete if it's a pixmap theme style
if (!m_widgetStyle->engine_data)
gtk_style_unref( m_widgetStyle );
m_widgetStyle = (GtkStyle*) NULL; m_widgetStyle = (GtkStyle*) NULL;
} }