diff options
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtkentry.c | 3 | ||||
-rw-r--r-- | gtk/gtkentry.h | 1 | ||||
-rw-r--r-- | gtk/gtkpaned.c | 9 | ||||
-rw-r--r-- | gtk/gtkpaned.h | 1 |
4 files changed, 12 insertions, 2 deletions
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 973a6f09b2..b84cc06eb8 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -591,6 +591,8 @@ gtk_entry_realize (GtkWidget *widget) attributes.y = widget->style->klass->ythickness + INNER_BORDER; attributes.width = widget->allocation.width - attributes.x * 2; attributes.height = widget->allocation.height - attributes.y * 2; + attributes.cursor = entry->cursor = gdk_cursor_new (GDK_XTERM); + attributes_mask |= GDK_WA_CURSOR; entry->text_area = gdk_window_new (widget->window, &attributes, attributes_mask); gdk_window_set_user_data (entry->text_area, entry); @@ -688,6 +690,7 @@ gtk_entry_unrealize (GtkWidget *widget) { gdk_window_set_user_data (entry->text_area, NULL); gdk_window_destroy (entry->text_area); + gdk_cursor_destroy (entry->cursor); } if (widget->window) { diff --git a/gtk/gtkentry.h b/gtk/gtkentry.h index 270ef3dab0..e44add6c17 100644 --- a/gtk/gtkentry.h +++ b/gtk/gtkentry.h @@ -42,6 +42,7 @@ struct _GtkEntry GdkWindow *text_area; GdkPixmap *backing_pixmap; + GdkCursor *cursor; gchar *text; guint16 text_size; diff --git a/gtk/gtkpaned.c b/gtk/gtkpaned.c index d6b53db3d4..c3ee553fc8 100644 --- a/gtk/gtkpaned.c +++ b/gtk/gtkpaned.c @@ -156,7 +156,7 @@ gtk_paned_realize (GtkWidget *widget) attributes.window_type = GDK_WINDOW_CHILD; attributes.visual = gtk_widget_get_visual (widget); attributes.colormap = gtk_widget_get_colormap (widget); - attributes.cursor = gdk_cursor_new(GDK_CROSS); + attributes.cursor = paned->cursor = gdk_cursor_new (GDK_CROSS); attributes.event_mask = gtk_widget_get_events (widget); attributes.event_mask |= (GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | @@ -245,10 +245,15 @@ gtk_paned_unrealize (GtkWidget *widget) if (paned->xor_gc) gdk_gc_destroy (paned->xor_gc); + if (paned->handle) - gdk_window_destroy (paned->handle); + { + gdk_window_destroy (paned->handle); + gdk_cursor_destroy (paned->cursor); + } paned->handle = NULL; + paned->cursor = NULL; widget->window = NULL; } diff --git a/gtk/gtkpaned.h b/gtk/gtkpaned.h index 1b25263b0a..db9376e0a5 100644 --- a/gtk/gtkpaned.h +++ b/gtk/gtkpaned.h @@ -44,6 +44,7 @@ struct _GtkPaned GtkWidget *child2; GdkWindow *handle; + GdkCursor *cursor; GdkRectangle groove_rectangle; GdkGC *xor_gc; |