summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtkentry.c3
-rw-r--r--gtk/gtkentry.h1
-rw-r--r--gtk/gtkpaned.c9
-rw-r--r--gtk/gtkpaned.h1
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;