]> Pileus Git - ~andy/gtk/log
~andy/gtk
13 years agobutton: don't use the border values for padding
Cosimo Cecchi [Tue, 5 Apr 2011 19:35:05 +0000 (15:35 -0400)]
button: don't use the border values for padding

It's wrong, and makes it impossible to theme the button properly.

https://bugzilla.gnome.org/show_bug.cgi?id=646882

13 years agobutton: make gtk_button_get_props() return the padding too
Cosimo Cecchi [Tue, 5 Apr 2011 19:34:32 +0000 (15:34 -0400)]
button: make gtk_button_get_props() return the padding too

https://bugzilla.gnome.org/show_bug.cgi?id=646882

13 years agogtk_window_present_with_time: fix when window is not initially visible
Dan Winship [Tue, 12 Apr 2011 17:03:38 +0000 (13:03 -0400)]
gtk_window_present_with_time: fix when window is not initially visible

When called on a hidden window, gtk_window_present_with_time() would
just fall back to gtk_widget_show(), completely ignoring the passed-in
timestamp. This ended up working anyway if the timestamp came from
in-process, since gdk_window_x11_show() would initialize its user_time
from the time of the most recent event. But if the timestamp came from
another process, this would result in the window being shown with an
out-of-date timestamp.

Fix this by remembering the timestamp from
gtk_window_present_with_time(), and then setting the GdkWindow's
user_time from that when it the window is realized.

https://bugzilla.gnome.org/show_bug.cgi?id=647275

13 years agoGdkDeviceManagerXI2: don't set user_time on ButtonRelease
Dan Winship [Mon, 11 Apr 2011 16:13:44 +0000 (12:13 -0400)]
GdkDeviceManagerXI2: don't set user_time on ButtonRelease

The XI2 device manager was mistakenly setting the window user_time on
both ButtonPress and ButtonRelease, which meant that processes that
tried to launch another process based on the time of a ButtonPress
event would end up always focus-stealing-preventing the new app.

https://bugzilla.gnome.org/show_bug.cgi?id=647275

13 years agoGtkWidgetPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:50:30 +0000 (12:50 -0400)]
GtkWidgetPrivate: Improve struct packing

13 years agoGtkTreeModelFilterPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:50:05 +0000 (12:50 -0400)]
GtkTreeModelFilterPrivate: Improve struct packing

13 years agoGtkToolItemGroupPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:49:40 +0000 (12:49 -0400)]
GtkToolItemGroupPrivate: Improve struct packing

13 years agoGtkToolItemPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:49:16 +0000 (12:49 -0400)]
GtkToolItemPrivate: Improve struct packing

13 years agoGtkToolbarPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:48:55 +0000 (12:48 -0400)]
GtkToolbarPrivate: Improve struct packing

13 years agoGtkTextViewPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:48:30 +0000 (12:48 -0400)]
GtkTextViewPrivate: Improve struct packing

13 years agoGtkTextBufferPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:48:02 +0000 (12:48 -0400)]
GtkTextBufferPrivate: Improve struct packing

13 years agoGtkTextBTreeNode: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:46:28 +0000 (12:46 -0400)]
GtkTextBTreeNode: Improve struct packing

13 years agoGtkStyleContextPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:45:51 +0000 (12:45 -0400)]
GtkStyleContextPrivate: Improve struct packing

13 years agoGtkSpinButtonPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:45:28 +0000 (12:45 -0400)]
GtkSpinButtonPrivate: Improve struct packing

13 years agoGtkScrolledWindowPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:42:37 +0000 (12:42 -0400)]
GtkScrolledWindowPrivate: Improve struct packing

13 years agoGtkRangePrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:42:14 +0000 (12:42 -0400)]
GtkRangePrivate: Improve struct packing

13 years agoGtkProgressBarPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:40:30 +0000 (12:40 -0400)]
GtkProgressBarPrivate: Improve struct packing

Also remove the unused blocks and in_block members.

13 years agoGtkPanedPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:37:55 +0000 (12:37 -0400)]
GtkPanedPrivate: Improve struct packing

13 years agoGtkNumerableIconPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:35:17 +0000 (12:35 -0400)]
GtkNumerableIconPrivate: Improve struct packing

13 years agoGtkMenuItemPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:34:53 +0000 (12:34 -0400)]
GtkMenuItemPrivate: Improve struct packing

13 years agoGtkListStorePrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:34:29 +0000 (12:34 -0400)]
GtkListStorePrivate: Improve struct packing

13 years agoGtkLabelPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:34:11 +0000 (12:34 -0400)]
GtkLabelPrivate: Improve struct packing

13 years agoGtkImagePrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:33:45 +0000 (12:33 -0400)]
GtkImagePrivate: Improve struct packing

13 years agoGtkIconViewPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:33:24 +0000 (12:33 -0400)]
GtkIconViewPrivate: Improve struct packing

13 years agoGtkIconThemePrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:33:04 +0000 (12:33 -0400)]
GtkIconThemePrivate: Improve struct packing

13 years agoGtkEntryBufferPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:32:29 +0000 (12:32 -0400)]
GtkEntryBufferPrivate: Improve struct packing

13 years agoGtkCellViewPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:32:04 +0000 (12:32 -0400)]
GtkCellViewPrivate: Improve struct packing

13 years agoGtkCellRendererTextPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:31:28 +0000 (12:31 -0400)]
GtkCellRendererTextPrivate: Improve struct packing

13 years agoGtkCellRendererPixbufPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:30:36 +0000 (12:30 -0400)]
GtkCellRendererPixbufPrivate: Improve struct packing

13 years agoGtkCellRendererAccelPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:30:04 +0000 (12:30 -0400)]
GtkCellRendererAccelPrivate: Improve struct packing

13 years agoGtkCellAreaBoxPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:25:53 +0000 (12:25 -0400)]
GtkCellAreaBoxPrivate: Improve struct packing

13 years agoGtkButtonPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:25:25 +0000 (12:25 -0400)]
GtkButtonPrivate: Improve struct packing

13 years agoGtkBoxPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:24:56 +0000 (12:24 -0400)]
GtkBoxPrivate: Improve struct packing

13 years agoGtkAppChooserWidgetPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:24:34 +0000 (12:24 -0400)]
GtkAppChooserWidgetPrivate: Improve struct packing

13 years agoGtkAppChooserButtonPrivate: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:24:05 +0000 (12:24 -0400)]
GtkAppChooserButtonPrivate: Improve struct packing

13 years agoGtkAccelLabel: Improve struct packing
Matthias Clasen [Tue, 12 Apr 2011 16:23:35 +0000 (12:23 -0400)]
GtkAccelLabel: Improve struct packing

13 years agoGdkWindowImplX11: Struct packing improvements
Matthias Clasen [Tue, 12 Apr 2011 14:39:14 +0000 (10:39 -0400)]
GdkWindowImplX11: Struct packing improvements

13 years agoGdkX11Screen: Struct packing improvements
Matthias Clasen [Tue, 12 Apr 2011 14:38:38 +0000 (10:38 -0400)]
GdkX11Screen: Struct packing improvements

13 years agoGdkX11DragContext: Struct packing improvements
Matthias Clasen [Tue, 12 Apr 2011 14:37:51 +0000 (10:37 -0400)]
GdkX11DragContext: Struct packing improvements

13 years agoGdkX11DeviceXI: Struct packing improvements
Matthias Clasen [Tue, 12 Apr 2011 14:37:08 +0000 (10:37 -0400)]
GdkX11DeviceXI: Struct packing improvements

13 years agoGdkScreen: Struct packing improvements
Matthias Clasen [Tue, 12 Apr 2011 14:36:39 +0000 (10:36 -0400)]
GdkScreen: Struct packing improvements

13 years agoGdkWindow: Struct packing improvements
Matthias Clasen [Tue, 12 Apr 2011 14:35:34 +0000 (10:35 -0400)]
GdkWindow: Struct packing improvements

13 years agoGdkDisplay: Struct packing improvements
Matthias Clasen [Tue, 12 Apr 2011 14:34:55 +0000 (10:34 -0400)]
GdkDisplay: Struct packing improvements

13 years agoGdkCursor: Struct packing improvements
Matthias Clasen [Tue, 12 Apr 2011 14:34:28 +0000 (10:34 -0400)]
GdkCursor: Struct packing improvements

13 years agoMerge branch 'gdk-backend-wayland'
Kristian Høgsberg [Tue, 12 Apr 2011 13:52:44 +0000 (09:52 -0400)]
Merge branch 'gdk-backend-wayland'

Conflicts:
Makefile.am
configure.ac
gdk/Makefile.am
gtk/gtksettings.c
gtk/gtkwindow.c

13 years ago[broadway] Cancel key events after seeing them
Alexander Larsson [Tue, 12 Apr 2011 11:38:04 +0000 (13:38 +0200)]
[broadway] Cancel key events after seeing them

13 years ago[broadway] Fix canvas resize when resizing browser window
Alexander Larsson [Tue, 12 Apr 2011 09:34:13 +0000 (11:34 +0200)]
[broadway] Fix canvas resize when resizing browser window

We always have to resize the canvas, even when its in a toplevel.

13 years ago[broadway] Fix typo
Alexander Larsson [Tue, 12 Apr 2011 09:21:47 +0000 (11:21 +0200)]
[broadway] Fix typo

13 years ago[broadway] Combine window move and resize into one op
Alexander Larsson [Tue, 12 Apr 2011 09:11:36 +0000 (11:11 +0200)]
[broadway] Combine window move and resize into one op

This way we avoid sending a configure event for the inbetween state
if we're resizeing and moving at the same time.

13 years ago[broadway] Fix various js warnings
Alexander Larsson [Tue, 12 Apr 2011 08:17:36 +0000 (10:17 +0200)]
[broadway] Fix various js warnings

13 years ago[broadway] Add stacktrace debugging functions
Alexander Larsson [Tue, 12 Apr 2011 08:13:38 +0000 (10:13 +0200)]
[broadway] Add stacktrace debugging functions

13 years ago[broadway] Always send configure events from browser
Alexander Larsson [Tue, 12 Apr 2011 08:10:44 +0000 (10:10 +0200)]
[broadway] Always send configure events from browser

As soon as something changes, even if it was a request from the user
we send a configure event. If not we might race with a app-side
generated configure event.

For instance, a create + resize might create only a configure event for
the create in the browser, but that may get to the app after the app-side
configure event for the resize, overriding the new size.

13 years ago[broadway] When resyncing, first create all windows then set attributes
Alexander Larsson [Mon, 11 Apr 2011 15:49:18 +0000 (17:49 +0200)]
[broadway] When resyncing, first create all windows then set attributes

Some attributes (like transient parent) depende on other windows being
there, so we create all first.

13 years ago[broadway] More complete handling of transient parent
Alexander Larsson [Mon, 11 Apr 2011 15:48:21 +0000 (17:48 +0200)]
[broadway] More complete handling of transient parent

We now handle any order of transient being set and windows shown/created

13 years ago[broadway] Use mozInnerScreenX & co to get window position
Alexander Larsson [Mon, 11 Apr 2011 15:03:33 +0000 (17:03 +0200)]
[broadway] Use mozInnerScreenX & co to get window position

This way we don't have to rely on any event, which won't work until
we get an event.

13 years ago[broadway] Parse x/y as signed
Alexander Larsson [Mon, 11 Apr 2011 14:43:01 +0000 (16:43 +0200)]
[broadway] Parse x/y as signed

13 years ago[broadway] Update window geometry after showing window
Alexander Larsson [Mon, 11 Apr 2011 14:42:41 +0000 (16:42 +0200)]
[broadway] Update window geometry after showing window

13 years ago[broadway] Don't cache surface.transientToplevel as that might change at various...
Alexander Larsson [Mon, 11 Apr 2011 14:42:02 +0000 (16:42 +0200)]
[broadway] Don't cache surface.transientToplevel as that might change at various times

13 years agoGtkWindow: rearrange private struct to fill some holes
Matthias Clasen [Mon, 11 Apr 2011 22:33:43 +0000 (18:33 -0400)]
GtkWindow: rearrange private struct to fill some holes

13 years agoSmall cleanup in statusbar
Paolo Borelli [Sat, 9 Apr 2011 14:01:23 +0000 (16:01 +0200)]
Small cleanup in statusbar

Factor out msg_create/free and use g_slist_free_full as appropriate.

https://bugzilla.gnome.org/show_bug.cgi?id=647278

13 years agoMove documentation to inline comments: GtkTearoffMenuItem
Javier Jardón [Mon, 11 Apr 2011 21:52:00 +0000 (22:52 +0100)]
Move documentation to inline comments: GtkTearoffMenuItem

13 years agoMove documentation to inline comments: GtkCellRendererPixbuf
Javier Jardón [Mon, 11 Apr 2011 21:47:18 +0000 (22:47 +0100)]
Move documentation to inline comments: GtkCellRendererPixbuf

13 years agoMove documentation to inline comments: GtkCellRendererCombo
Javier Jardón [Mon, 11 Apr 2011 21:39:48 +0000 (22:39 +0100)]
Move documentation to inline comments: GtkCellRendererCombo

13 years agoMove documentation to inline comments: GtkHSeparator
Javier Jardón [Mon, 11 Apr 2011 21:33:38 +0000 (22:33 +0100)]
Move documentation to inline comments: GtkHSeparator

13 years agoMove documentation to online comments: GtkCellRendererSpin
Javier Jardón [Mon, 11 Apr 2011 21:14:35 +0000 (22:14 +0100)]
Move documentation to online comments: GtkCellRendererSpin

13 years agoUpdated Japanese translation.
Takayoshi OKANO [Mon, 11 Apr 2011 14:17:23 +0000 (23:17 +0900)]
Updated Japanese translation.

13 years ago[broadway] Correctly track remote visible state
Alexander Larsson [Mon, 11 Apr 2011 09:56:22 +0000 (11:56 +0200)]
[broadway] Correctly track remote visible state

GDK_WINDOW_IS_MAPPED is not false for withdrawn windows, so we need
to track real visibility ourselves.

13 years ago[broadway] Clean up js side surface handling
Alexander Larsson [Mon, 11 Apr 2011 09:32:25 +0000 (11:32 +0200)]
[broadway] Clean up js side surface handling

* Always calculate the context, don't store in surface.
* Store the toplevel element (frame or canvas) for easy access.
* Always use visibility hidden rathern than display none to hide windows,
  as this means we can always rely on dom positioning info.

13 years ago[broadway] Restack on window show to ensure all zIndexes are right
Alexander Larsson [Mon, 11 Apr 2011 08:54:02 +0000 (10:54 +0200)]
[broadway] Restack on window show to ensure all zIndexes are right

13 years ago[broadway] Store surface, not id in stackingOrder list
Alexander Larsson [Mon, 11 Apr 2011 08:53:11 +0000 (10:53 +0200)]
[broadway] Store surface, not id in stackingOrder list

13 years ago[broadway] Set transient-for before showing window
Alexander Larsson [Mon, 11 Apr 2011 08:46:48 +0000 (10:46 +0200)]
[broadway] Set transient-for before showing window

When syncing windows, make sure we set transient-for before showing
the window to avoid it being visible with the wrong transient-for
(i.e. possibly on the wrong browser window).

13 years ago[broadway] Fix css typo
Alexander Larsson [Mon, 11 Apr 2011 08:43:09 +0000 (10:43 +0200)]
[broadway] Fix css typo

rgb takes 3 params, rgba takes four.

13 years ago[broadway] Fix up frame size calculation
Alexander Larsson [Mon, 11 Apr 2011 08:42:03 +0000 (10:42 +0200)]
[broadway] Fix up frame size calculation

Turns out that offsetTop/Left doesn't contain the border, so we need
to manually add that in.

13 years agoMove documentation to inline comments: GtkFileChooserWidget
Javier Jardón [Mon, 11 Apr 2011 02:09:38 +0000 (03:09 +0100)]
Move documentation to inline comments: GtkFileChooserWidget

13 years agoMove documentation to inline comments: GtkHScale
Javier Jardón [Mon, 11 Apr 2011 02:04:20 +0000 (03:04 +0100)]
Move documentation to inline comments: GtkHScale

13 years agoMove documentation to inline comments: GtkCellRendererAccel
Javier Jardón [Mon, 11 Apr 2011 02:00:24 +0000 (03:00 +0100)]
Move documentation to inline comments: GtkCellRendererAccel

13 years agoMove documentation to inline comments: GtkHScrollbar
Javier Jardón [Mon, 11 Apr 2011 01:54:53 +0000 (02:54 +0100)]
Move documentation to inline comments: GtkHScrollbar

13 years agoRemove unneded template: gtkimcontext.sgml
Javier Jardón [Mon, 11 Apr 2011 01:51:46 +0000 (02:51 +0100)]
Remove unneded template: gtkimcontext.sgml

13 years agoMove documentation to inline comments: GtkFontButton
Javier Jardón [Mon, 11 Apr 2011 01:47:43 +0000 (02:47 +0100)]
Move documentation to inline comments: GtkFontButton

13 years agoMove documentation to inline comments: GtkCellRendererToggle
Javier Jardón [Mon, 11 Apr 2011 01:42:54 +0000 (02:42 +0100)]
Move documentation to inline comments: GtkCellRendererToggle

13 years agoMove documentation to inline comments: GtkHPaned
Javier Jardón [Mon, 11 Apr 2011 01:36:23 +0000 (02:36 +0100)]
Move documentation to inline comments: GtkHPaned

13 years agoMove documentation to inline comments: GtkInvisible
Javier Jardón [Mon, 11 Apr 2011 01:31:56 +0000 (02:31 +0100)]
Move documentation to inline comments: GtkInvisible

13 years agoMove documentation to inline comments: GtkCellRendererProgress
Javier Jardón [Mon, 11 Apr 2011 01:18:13 +0000 (02:18 +0100)]
Move documentation to inline comments: GtkCellRendererProgress

13 years agoMove documentation to inline comments: GtkMisc
Javier Jardón [Mon, 11 Apr 2011 01:04:11 +0000 (02:04 +0100)]
Move documentation to inline comments: GtkMisc

13 years agoMove documentation to inline comments: GtkImageMenuItem
Javier Jardón [Mon, 11 Apr 2011 01:13:02 +0000 (02:13 +0100)]
Move documentation to inline comments: GtkImageMenuItem

13 years ago[broadway] Remove expensive transparency effects from css
Alexander Larsson [Sun, 10 Apr 2011 19:10:07 +0000 (21:10 +0200)]
[broadway] Remove expensive transparency effects from css

13 years ago[broadway] Make the toplevel mode a url parameter
Alexander Larsson [Fri, 8 Apr 2011 13:36:07 +0000 (15:36 +0200)]
[broadway] Make the toplevel mode a url parameter

13 years ago[broadway] Position non-popup windows ourselves
Alexander Larsson [Fri, 8 Apr 2011 13:17:43 +0000 (15:17 +0200)]
[broadway] Position non-popup windows ourselves

We ignore the initial positions for non-popup windows, instead we
place the windows ourselves (or in the useToplevel mode by the WM).

13 years ago[broadway] Fix up toplevel content visibility in useToplevel mode
Alexander Larsson [Fri, 8 Apr 2011 13:16:32 +0000 (15:16 +0200)]
[broadway] Fix up toplevel content visibility in useToplevel mode

surfaces.canvas may change if we move to another document, so
reupdate the element to show after ensureSurfaceInDocument.

13 years ago[broadway] Move window to top when moving
Alexander Larsson [Fri, 8 Apr 2011 13:00:51 +0000 (15:00 +0200)]
[broadway] Move window to top when moving

13 years ago[broadway] Add some initial work for in-window frames
Alexander Larsson [Fri, 8 Apr 2011 09:45:51 +0000 (11:45 +0200)]
[broadway] Add some initial work for in-window frames

The css is based on work by Jasper St Pierre:
http://magcius.mecheye.net/vista/

13 years ago[broadway] Fix some typos in the js code
Alexander Larsson [Fri, 8 Apr 2011 09:45:16 +0000 (11:45 +0200)]
[broadway] Fix some typos in the js code

13 years ago[broadway] Use the right doctype for html5
Alexander Larsson [Fri, 8 Apr 2011 06:56:35 +0000 (08:56 +0200)]
[broadway] Use the right doctype for html5

13 years agoFix some crashes caused by unimplemented functions in GdkOffscreenWindow
Tristan Van Berkom [Fri, 8 Apr 2011 16:55:50 +0000 (01:55 +0900)]
Fix some crashes caused by unimplemented functions in GdkOffscreenWindow

These crashes happen when accessing GtkWindow properties and the
GdkWindow is an offscreen (fixes https://bugzilla.gnome.org/show_bug.cgi?id=647244)

13 years agoFree the translate queue when closing a display
Matthias Clasen [Sat, 9 Apr 2011 01:34:25 +0000 (21:34 -0400)]
Free the translate queue when closing a display

Not that many people are ever going to hit this.
https://bugzilla.gnome.org/show_bug.cgi?id=645236

13 years agoFix some possible crashes if the default display is NULL
Matthias Clasen [Sat, 9 Apr 2011 01:20:26 +0000 (21:20 -0400)]
Fix some possible crashes if the default display is NULL

Unlikely that many people will hit these, but still.
https://bugzilla.gnome.org/show_bug.cgi?id=645176

13 years agoAvoid a warning out of the print dialog
Matthias Clasen [Sat, 9 Apr 2011 00:46:57 +0000 (20:46 -0400)]
Avoid a warning out of the print dialog

Reported in https://bugzilla.gnome.org/show_bug.cgi?id=647152

13 years agothemingengine: don't set a line width before saving the cairo context
Cosimo Cecchi [Thu, 7 Apr 2011 19:22:18 +0000 (15:22 -0400)]
themingengine: don't set a line width before saving the cairo context

https://bugzilla.gnome.org/show_bug.cgi?id=647086

13 years agoseparator: call gtk_style_context_restore() after drawing
Cosimo Cecchi [Thu, 7 Apr 2011 19:21:51 +0000 (15:21 -0400)]
separator: call gtk_style_context_restore() after drawing

https://bugzilla.gnome.org/show_bug.cgi?id=647086

13 years agocalendar: make sure to call gtk_style_context_restore()
Cosimo Cecchi [Thu, 7 Apr 2011 19:21:32 +0000 (15:21 -0400)]
calendar: make sure to call gtk_style_context_restore()

https://bugzilla.gnome.org/show_bug.cgi?id=647086