Fix 'Locate Pointer'
This commit is contained in:
		
							parent
							
								
									8e4b3c60a0
								
							
						
					
					
						commit
						60bd6a963a
					
				| @ -1,6 +1,6 @@ | ||||
| Name:		gnome-settings-daemon | ||||
| Version:	2.27.91 | ||||
| Release:	2%{?dist} | ||||
| Release:	3%{?dist} | ||||
| Summary:	The daemon sharing settings from GNOME to GTK+/KDE applications | ||||
| 
 | ||||
| Group:		System Environment/Daemons | ||||
| @ -38,6 +38,8 @@ Patch12:	gnome-settings-daemon-2.26.1-fix-touchpad.patch | ||||
| Patch13:	locate-pointer-process.patch | ||||
| # http://bugzilla.gnome.org/show_bug.cgi?id=593112 | ||||
| Patch14:	buttonmapping.patch | ||||
| # http://bugzilla.gnome.org/show_bug.cgi?id=593115 | ||||
| Patch15:        locate-pointer-csw.patch | ||||
| 
 | ||||
| %description | ||||
| A daemon to share settings from GNOME to other applications. It also | ||||
| @ -60,6 +62,7 @@ developing applications that use %{name}. | ||||
| %patch12 -p1 -b .lefthand-touchpad | ||||
| %patch13 -p1 -b .locate-pointer | ||||
| %patch14 -p1 -b .buttonmap | ||||
| %patch15 -p1 -b .locate-pointer-csw | ||||
| 
 | ||||
| autoreconf -i -f | ||||
| 
 | ||||
| @ -173,6 +176,9 @@ fi | ||||
| %{_libdir}/pkgconfig/gnome-settings-daemon.pc | ||||
| 
 | ||||
| %changelog | ||||
| * Sun Aug 30 2009 Matthias Clasen <mclasen@redhat.com> - 2.27.91-3 | ||||
| - Make 'Locate Pointer' work with metacity again | ||||
| 
 | ||||
| * Wed Aug 26 2009 Peter Hutterer <peter.hutterer@redhat.com> 2.27.91-2 | ||||
| - buttonmapping.patch: Don't check for IsXExtensionDevice, only skip button | ||||
|   mappings for core devices instead (#502129). | ||||
|  | ||||
							
								
								
									
										62
									
								
								locate-pointer-csw.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								locate-pointer-csw.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,62 @@ | ||||
| --- gnome-settings-daemon-2.27.91/plugins/mouse/gsd-locate-pointer.c	2009-08-30 02:33:02.791519895 -0400
 | ||||
| +++ hacked/plugins/mouse/gsd-locate-pointer.c	2009-08-30 02:32:13.785515177 -0400
 | ||||
| @@ -126,27 +126,29 @@
 | ||||
|    cairo_t *cr; | ||||
|    GdkBitmap *mask; | ||||
|   | ||||
| -  if (event->window != data->window)
 | ||||
| +  if (event && event->window != data->window)
 | ||||
|      return FALSE; | ||||
|   | ||||
| -  cr = gdk_cairo_create (data->window);
 | ||||
| -
 | ||||
|    if (gtk_widget_is_composited (data->widget)) | ||||
| -    locate_pointer_paint (data, cr, TRUE);
 | ||||
| -  else
 | ||||
|      { | ||||
| -      locate_pointer_paint (data, cr, FALSE);
 | ||||
| +      cr = gdk_cairo_create (data->window);
 | ||||
| +      locate_pointer_paint (data, cr, TRUE);
 | ||||
|        cairo_destroy (cr); | ||||
| -
 | ||||
| +    }
 | ||||
| +  else
 | ||||
| +    {
 | ||||
|        /* create a bitmap for the shape, reuse the cairo_t to paint on it */ | ||||
|        mask = gdk_pixmap_new (data->window, WINDOW_SIZE, WINDOW_SIZE, 1); | ||||
|        cr = gdk_cairo_create (mask); | ||||
|        locate_pointer_paint (data, cr, FALSE); | ||||
|        gdk_window_shape_combine_mask (data->window, mask, 0, 0); | ||||
|        g_object_unref (mask); | ||||
| -    }
 | ||||
| +      cairo_destroy (cr);
 | ||||
|   | ||||
| -  cairo_destroy (cr);
 | ||||
| +      cr = gdk_cairo_create (data->window);
 | ||||
| +      locate_pointer_paint (data, cr, FALSE);
 | ||||
| +      cairo_destroy (cr);
 | ||||
| +    }
 | ||||
|   | ||||
|    return TRUE; | ||||
|  } | ||||
| @@ -168,7 +170,7 @@
 | ||||
|    else if (progress >= data->progress + CIRCLES_PROGRESS_INTERVAL) | ||||
|      { | ||||
|        /* only invalidate window each circle interval */ | ||||
| -      gdk_window_invalidate_rect (data->window, NULL, FALSE);
 | ||||
| +      locate_pointer_expose (data->widget, NULL, data);
 | ||||
|        data->progress += CIRCLES_PROGRESS_INTERVAL; | ||||
|      } | ||||
|   | ||||
| @@ -340,10 +342,9 @@
 | ||||
|    g_signal_connect (data->widget, "composited-changed", | ||||
|                      G_CALLBACK (composited_changed), data); | ||||
|   | ||||
| +  move_locate_pointer_window (data, screen);
 | ||||
|    composited_changed (data->widget, data); | ||||
| -
 | ||||
|    gdk_window_show (data->window); | ||||
| -  move_locate_pointer_window (data, screen);
 | ||||
|   | ||||
|    gsd_timeline_start (data->timeline); | ||||
|  } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user