just put GtkBorder variable on the stack

fixes missing runtime version check


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett
2013-12-15 02:04:41 +00:00
parent f2dbd85dac
commit 47b4ed41cb

View File

@@ -462,42 +462,29 @@ bool wxTextEntry::DoSetMargins(const wxPoint& margins)
#endif #endif
const GtkBorder* oldBorder = gtk_entry_get_inner_border(entry); const GtkBorder* oldBorder = gtk_entry_get_inner_border(entry);
GtkBorder* newBorder; GtkBorder newBorder;
if ( oldBorder ) if ( oldBorder )
{ newBorder = *oldBorder;
newBorder = gtk_border_copy(oldBorder);
}
else else
{ {
#if GTK_CHECK_VERSION(2,14,0)
newBorder = gtk_border_new();
#else
newBorder = g_slice_new0(GtkBorder);
#endif
// Use some reasonable defaults for initial margins // Use some reasonable defaults for initial margins
newBorder->left = 2; newBorder.left = 2;
newBorder->right = 2; newBorder.right = 2;
// These numbers seem to let the text remain vertically centered // These numbers seem to let the text remain vertically centered
// in common use scenarios when margins.y == -1. // in common use scenarios when margins.y == -1.
newBorder->top = 3; newBorder.top = 3;
newBorder->bottom = 3; newBorder.bottom = 3;
} }
if ( margins.x != -1 ) if ( margins.x != -1 )
newBorder->left = (gint) margins.x; newBorder.left = margins.x;
if ( margins.y != -1 ) if ( margins.y != -1 )
newBorder->top = (gint) margins.y; newBorder.top = margins.y;
gtk_entry_set_inner_border(entry, newBorder); gtk_entry_set_inner_border(entry, &newBorder);
#if GTK_CHECK_VERSION(2,14,0)
gtk_border_free(newBorder);
#else
g_slice_free(GtkBorder, newBorder);
#endif
return true; return true;
#else #else