]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/textctrl.cpp
Border corrections
[wxWidgets.git] / src / gtk1 / textctrl.cpp
index b789f65908ca7ec3cc40c9c2030d6fd26a190612..06460bd944aeb45a64c8fb2f1ac3c64fddaa6e99 100644 (file)
@@ -55,8 +55,21 @@ static void wxGtkTextInsert(GtkWidget *text,
                             const char *txt,
                             size_t len)
 {
                             const char *txt,
                             size_t len)
 {
-    GdkFont *font = attr.HasFont() ? attr.GetFont().GetInternalFont()
-                                   : NULL;
+    wxFont tmpFont;
+    GdkFont *font;
+    if (attr.HasFont())
+    {
+        tmpFont = attr.GetFont();
+
+        // FIXME: if this crashes because tmpFont goes out of scope and the GdkFont is
+        // deleted, then we need to call gdk_font_ref on font.
+        // This is because attr.GetFont() now returns a temporary font since wxTextAttr
+        // no longer stores a wxFont object, for efficiency.
+
+        font = tmpFont.GetInternalFont();
+    }
+    else
+        font  = NULL;
 
     GdkColor *colFg = attr.HasTextColour() ? attr.GetTextColour().GetColor()
                                            : NULL;
 
     GdkColor *colFg = attr.HasTextColour() ? attr.GetTextColour().GetColor()
                                            : NULL;
@@ -76,9 +89,9 @@ static void wxGtkTextInsert(GtkWidget *text,
 extern "C" {
 static void
 gtk_insert_text_callback(GtkEditable *editable,
 extern "C" {
 static void
 gtk_insert_text_callback(GtkEditable *editable,
-                         const gchar *new_text,
-                         gint new_text_length,
-                         gint *position,
+                         const gchar *WXUNUSED(new_text),
+                         gint WXUNUSED(new_text_length),
+                         gint *WXUNUSED(position),
                          wxTextCtrl *win)
 {
     if (g_isIdle)
                          wxTextCtrl *win)
 {
     if (g_isIdle)
@@ -117,7 +130,7 @@ gtk_insert_text_callback(GtkEditable *editable,
 
 extern "C" {
 static void
 
 extern "C" {
 static void
-gtk_text_changed_callback( GtkWidget *widget, wxTextCtrl *win )
+gtk_text_changed_callback( GtkWidget *WXUNUSED(widget), wxTextCtrl *win )
 {
     if ( win->IgnoreTextUpdate() )
         return;
 {
     if ( win->IgnoreTextUpdate() )
         return;
@@ -705,7 +718,7 @@ void wxTextCtrl::DoEnable( bool enable )
 // wxGTK-specific: called recursively by Enable,
 // to give widgets an oppprtunity to correct their colours after they
 // have been changed by Enable
 // wxGTK-specific: called recursively by Enable,
 // to give widgets an oppprtunity to correct their colours after they
 // have been changed by Enable
-void wxTextCtrl::OnEnabled( bool enable )
+void wxTextCtrl::OnEnabled( bool WXUNUSED(enable) )
 {
     if ( IsSingleLine() )
         return;
 {
     if ( IsSingleLine() )
         return;