← Back to team overview

dx-packages team mailing list archive

[Bug 1277265] Re: Clicking a menu entry doesn't always show the drop down menu the first time

 

This bug was fixed in the package unity -
7.1.2+14.04.20140214.1-0ubuntu1

---------------
unity (7.1.2+14.04.20140214.1-0ubuntu1) trusty; urgency=low

  [ Sebastien Bacher ]
  * use unity-control-center by default.
  * lists keybinding in unity-control-center. (LP: #1271710)

  [ Brandon Schaefer ]
  * Bump to new libnux from this branch:
    https://code.launchpad.net/~brandontschaefer/nux/xim-preedit-
    support.
  * Adds Super+L to lock the screen, while keeping the older shortcut
    around in g-s-d (Ctrl+Alt+L). (LP: #830709)
  * Do not open the dash/hud on a monitor with a top most window that is
    fullscreen. (LP: #1267210)
  * Implement an EMConveter. This way with default settings such that
    DPI = 96.0f, and font_size = system font size. We can get the
    correct EM value for any pixel size. Once we have the correct EM
    value for any pixel size, the DPI value can be adjusted to the
    current logical one. From here, you can now get the correct pixel
    size based from of the EM value for the logical DPI of the screen.
  * Refactor EMConverter API. Now all thats needed is int
    ConvertPixels(int pixel); This will calculate the correct pixel size
    based on the DPI and font size.
  * Testing that the ibus anthy tests could possibly be causing strange
    issues on the nvidia machine. So skipping them to test if tihs is
    the source of the error.
  * Add Pt to Px function to em converter.
  * Move EMConverter over to unity settings.
  * Add multi monitor support for EMConverter in unity settings. Now you
    can grab a specific converter per monitor.
  * Simple RawPixel class. It adds 2 define literals, ex: 10_em,
    10.0_em. From there it turns them into raw pixels. RawPixels have CP
    (CovertPixel) function which takes in an EMConverter that allows you
    to use a converter specific to a monitor to convert the raw pixel to
    the correct value.

  [ Marco Trevisan (Treviño) ]
  * Don't re-present all of our windows on every frame. Only do that if
    damage intersects it. Use the new APIs exposed by compiz and nux to
    intelligently determine which windows need to be presented per-frame
    and only register damage for those windows. This fixes two things:
    1. BaseWindows being redrawn from scratch every time damage was
    registered over them. That was incorrect and should only be done in
    the case of background blurs. 2. BaseWindows being drawn to the
    screen on every frame, regardless of whether or not they needed to
    be. Now they will only be drawn if some damage intersects beneath
    them. Note that unity will expand the damage region to accomadate
    the base window since nux does not support geometry clipping. So if
    there is a partial intersection of the launcher for example, the
    area of the screen which contains the launcher will be re-painted
    (but the launcher itself won't be redrawn, just its texture) (LP:
    #1080947). (LP: #1080947)
  * Convert compiz regions / rects to nux::Geometry's and back easily.
  * UnityScreen: remove the useless and expensive gl{Push,Pop}Attrib
    calls For some reasons this code was copied by the opengl plugin as
    a workaround to fix the state of our screen after that nux has
    drawn. Actually this is not needed, the only thing we really need to
    do is to fix the current Viewport, because nux seems to leave it in
    a bad state which would lead to flickering menus, fullscreen
    windows, tooltip and missing windows thumbnails in switcher. Thanks
    to Sam Spilsbury for his precious support. (LP: #1251275)
  * Unity: always prefer passing [this] to lambdas than [&].
  * Introspectable: use IntrospectionData class for collecting data from
    children Now each introspectable object is called with an
    IntrospectionData parameter and calling one of its methods it's the
    only way to fill introspection data into unity. As bonus point,
    remove all the unneeded UnityCore/Variant.cpp inclusions. (LP:
    #1227131)
  * DebugDBusInterface: add local::xpathselect::NodeSelector to use the
    dloaded lib.
  * BackgroundEffectHelper: Specify the required blur area before
    drawing so selectively copy it at paint time This means that we
    don't have to waste fragment bandwidth copying the entire backbuffer
    when we could just do parts of it. Now BackgroundEffectHelper
    listens to windows and views geometry changes and updates a list of
    blurred regions that might be copied to the backup texture at every
    repaint that affects them. This avoids to copy large regions
    (especially when using big resolutions or multiple monitors), but
    only the ones we really need to blur.
  * SwitcherView: define a custom GeometryGetterFunc and notify helper
    on changes Thanks to this the switcher won't make
    BackgroundEffectHelper to create a blurred area as big as the
    current monitor (with just a small padding), but an area big enough
    to draw its background. This get updated automagically when the
    switcher view changes its geometry... Also, use nux::AnimateValue
    for switcher animations, making compiz to orchestrate it and only
    redraw the view if an icon changed since the last progress
    iteration. We don't want the switcher to be drawn unless its
    geometry or an icon changes. Also we don't want to redraw the
    switcher multiple times if only a not-animated parameter of an icon
    (such as a pip or the selection glow) has changed. As bonus, reduce
    lots of list copies.
  * {Dash,Hud}Controller: unset the keyfocus area only if one of their
    children has the focus Otherwise we could steal the focus to another
    view (such as the Alt+Tab switcher). (LP: #1252760)
  * IntrospectionData: use forward declaration for nux classes, add
    support to glib::Variant We don't need to repeat the inclusion
    everywhere we want debug introspection. This allows also to add
    glib::Variant adder without the need of any other cast.
  * decorations: added new unity-decorations fully gtk-css-themed inside
    unity. (LP: #691817, #827537)
  * PanelMenuView: show a dropdown menu of indicators, if there's no
    enough horizontal space PanelService: add new dbus method
    ShowEntriesDropdown that when called puts the requested indicator
    entires into a DropDown menu before showing them, also threat
    dropdown menus as special entries when the their geometry has been
    synced. UnityCore: add add ShowEntriesDropdown virtual method as
    well and implement in DBusIndicators, to call the relative method in
    PanelService. Add parents to indicator::Entry, now an entry can have
    one or more parents (that's mostly depending on how many monitors we
    have), and if parented, it notifies active, show_now and geometry
    status to them. API cleanups included, SO-name bumped. PanelView:
    add simpler PreLayoutManagement function, to avoid nux to do too
    many computations that will cause the Menu to relayout too much with
    no need. Added PanelIndicatorEntryDropdownView as new subtype of
    PanelIndicatorEntryView that will show a go-down icon on the
    PanelMenuView that when clicked will show a dropdown menu of
    indicators. This will happen only if there's not enough room to see
    them inline. PanelIndicatorsView: many cleanups, and add
    EnableDropdownMenu that creates a new
    PanelIndicatorEntryDropdownView and uses it to place the entries
    that don't fit the available space, until we don't get some more.
    Added and reworked a bunch of unit tests. (LP: #1274554)
  * DecorationsInputMixer: pass Timestamp to events This might be needed
    to perform some actions, and using CompScreen getCurrentTime() is
    way much more expensive than I thought.
  * MenuManager: add a wrapper for Indicators and KeyGrabber that
    registers mnemonics It also emits signals with accumulators that
    will just stop the emission when a client returns true, and holds
    menu general settings.
  * LauncherDragWindow: set the drag window background to transparent or
    it will be white by default This was causing a quick flickering of
    the icon as soon as it was drawn on the first place. (LP: #1279904)
  * {DecorationsGrabEdge, PanelTitlebarGrabAreaView}: show the
    WindowAction menu on right-click (LP: #1098419)
  * PanelMenuView: we don't need to escape the panel title anymore New
    decorations just use pango text. (LP: #1280077)

  [ Chris Townsend ]
  * Don't re-present all of our windows on every frame. Only do that if
    damage intersects it. Use the new APIs exposed by compiz and nux to
    intelligently determine which windows need to be presented per-frame
    and only register damage for those windows. This fixes two things:
    1. BaseWindows being redrawn from scratch every time damage was
    registered over them. That was incorrect and should only be done in
    the case of background blurs. 2. BaseWindows being drawn to the
    screen on every frame, regardless of whether or not they needed to
    be. Now they will only be drawn if some damage intersects beneath
    them. Note that unity will expand the damage region to accomadate
    the base window since nux does not support geometry clipping. So if
    there is a partial intersection of the launcher for example, the
    area of the screen which contains the launcher will be re-painted
    (but the launcher itself won't be redrawn, just its texture) (LP:
    #1080947). (LP: #1080947)
  * In low graphics mode, only draw the Launcher background as needed
    instead of all of the time, even if the Launcher is hidden. (LP:
    #1179210)
  * Bump the Unity glib build dependency version.
  * Use IsVisibleOnMonitor() instead of IsVisible() for checking to
    close the Hud when clicking the Hud icon. This is due to the icon's
    quirk only being set for the current monitor. (LP: #1255241)
  * Add some introspection vector variables to account for per-monitor
    icon quirks to fix some failing Hud AP tests. (LP: #1244704)
  * Revert most of lp:unity revno. 3509 as the Compiz Grid plugin is a
    better place to handle the Ctrl-Super-Left/Right shortcuts. Expanded
    autopilot test to check for correct window placement when semi-
    maximizing and restoring. (LP: #1251777)
  * Re-enable Quicklist and Tooltip active blurring since it was removed
    due to the performance merge. (LP: #1253740)
  * Fix compile error due to deprecated gtk_widget_get_state() function.
    (LP: #1173219)
  * Fix a bunch of failing AP tests due to changes in Unity. (LP:
    #1244704)
  * Due to a change in xpathselect1.4, this fixes a sorting issue of
    Switcher icons for AP tests. (LP: #1244704)
  * Always set the interval timer to 0 when starting a new urgent
    animation timer. (LP: #1263775)
  * When hiding the Dash & Hud views, zero out the geometry and update
    the blur background size. This fixes the issue where the blur
    background wouldn't be updated when using static blur on subsequent
    opens of the Dash and Hud. (LP: #834777)
  * If the Dash or Hud is opened when entering Show Desktop, ensure they
    are closed. Added some Autopilot tests for this condition. (LP:
    #961890)
  * Add mesa-utils dependency to the unity-autopilot package since some
    of the autopilot tests use glxinfo to gather information. (LP:
    #1267902)
  * Fixes issue where a user places the mouse over a Launcher icon that
    has one unfocused window and then scrolls with the scroll wheel
    would focus that application when it should not according to Design.
    (LP: #1263786)
  * When using the mouse scrollwheel on inactive Launcher icons with
    unfocused windows, the unfocused window should not be focused. (LP:
    #1267888)
  * Add missing Python module declarations for multi-monitor setups.
    Fixes some AP test failures.
  * Fixes most Launcher based Autopilot tests due to the new object list
    sorting in xpathselect1.4.
  * Add back in vertical/horizontal maximized introspection objects
    since some Autopilot tests need them.
  * Removed the ZeitgeistUtils.h as this is no longer needed since
    Zeitgeist in main is now fixed.
  * Fix more Autopilot tests: Base icon center introspection on the
    current monitor instead of the hardcoded first monitor. Fix
    move_mouse_to_icon AP method to work correctly with multi-monitor.
    Fix some scroll tests for multi-monitor. Skip the Launcher only on
    primary monitor/test Launcher functionality on the second monitor
    tests since the tests cannot run in this scenario.
  * More Unity Autopilot Launcher test fixes: When initializing the
    Launcher tests, check whether the Launcher is available on the
    monitor being tested. If not, skip the test. Also, move the mouse to
    the monitor being tested before running the test to make sure the
    correct Launcher is being tested. Skip some Launcher reveal tests
    since the test is no longer valid due to how Autopilot moves the
    mouse now. Fix drag_icon_to_position method. Fix
    mouse_reveal_launcher method.
  * Fix more AP tests: Fix workspace emulator to get viewport info for
    more than the first monitor. Fix some Hud, Dash, and Switcher tests
    for multi-monitor.
  * Add a method to tell the Hud icon when there are multi-monitors and
    only a Launcher on the primary monitor. This will make sure the
    active and visible states for the icon are correct and allow the AP
    tests to pass. (LP: #1274985)
  * Fixes some Autopilot Panel test failures: Emit the signal to call
    OnIndicatorViewUpdated() when the active window position has
    changed. Account for an overlay (Dash/Hud) to be opened when testing
    if the window buttons should be shown in the Panel. This was removed
    some revisions ago and it looks like it shouldn't have been. Fix up
    a Panel test since it was failing in a part that didn't need to be
    ran anyways. (LP: #1277265)
  * Fix a couple of test_panel AP tests: The overlay window buttons did
    not take multi-monitor into account, so now account for that. Fix
    the AP test themselves to actually use the correct introspection
    object.
  * Fix a failing Dash AP test due to too many results being returned
    which caused the position of the Dash icon to be off the screen.
  * Fix where the mouse_disabled_ variable was unintialized which would
    cause the Switcher to not work correctly with the mouse and arrow
    keys. Fix the mouse filter list to account for only motion and
    button click/release so arrow key navigation will still work in the
    Switcher when mouse interaction is disabled. (LP: #1279499)
  * Fix Autopilot test issue where Show Desktop is somehow invoked and
    the recovery from this does not properly get the state back to Show
    Desktop off.

  [ William Hua ]
  * Replace deprecated g_settings_list_schemas with
    g_settings_schema_source_list_schemas.
  * Launcher: Fix GVariant type error in Hud UBus message.
  * Implement the GNOME key grabber interface so that Compiz and gnome-
    settings-daemon no longer have to fight for key grabs. Also, fix the
    global menu bar mnemonics. (LP: #1113008, LP: #1206582, LP:
    #1226962). (LP: #1113008, #1226962, #1206582)

  [ Stephen M. Webb ]
  * add multi-mointor support to a couple of tests where it got misssed.

  [ George Karavasilev ]
  * LauncherIcon: always try to use themed icons first, before falling
    back to UnityTheme.

  [ CI bot ]
  * Flush trunk to Ubuntu

  [ Eleni Maria Stea ]
  * the branch fixes the following compile errors: 1.
    SetReferenceFramebuffer function gets 3 parameters
    (Nux/WindowCompositor.h) 2. RenderInterfaceFromForeignCmd gets const
    reference not pointer as argument (Nux/WindowThread.h).
  * adds virtual destructors to classes with virtual methods to prevent
    memory leaks - ABI break.
  * new gsetting in unityshell.xml.in: fonts-scale-factor.
  * Configuration Parser class for custom gsettings.
  * function that gets the monitor name from the GDKScreen in UScreen.

  [ Andrea Azzarone ]
  * Don't re-present all of our windows on every frame. Only do that if
    damage intersects it. Use the new APIs exposed by compiz and nux to
    intelligently determine which windows need to be presented per-frame
    and only register damage for those windows. This fixes two things:
    1. BaseWindows being redrawn from scratch every time damage was
    registered over them. That was incorrect and should only be done in
    the case of background blurs. 2. BaseWindows being drawn to the
    screen on every frame, regardless of whether or not they needed to
    be. Now they will only be drawn if some damage intersects beneath
    them. Note that unity will expand the damage region to accomadate
    the base window since nux does not support geometry clipping. So if
    there is a partial intersection of the launcher for example, the
    area of the screen which contains the launcher will be re-painted
    (but the launcher itself won't be redrawn, just its texture) (LP:
    #1080947). (LP: #1080947)
  * Alt-Tab, shutdown dialog and shortcut overlay should not be
    transparent in Low GFX Mode. (LP: #1170508)

  [ Sam Spilsbury ]
  * Don't re-present all of our windows on every frame. Only do that if
    damage intersects it. Use the new APIs exposed by compiz and nux to
    intelligently determine which windows need to be presented per-frame
    and only register damage for those windows. This fixes two things:
    1. BaseWindows being redrawn from scratch every time damage was
    registered over them. That was incorrect and should only be done in
    the case of background blurs. 2. BaseWindows being drawn to the
    screen on every frame, regardless of whether or not they needed to
    be. Now they will only be drawn if some damage intersects beneath
    them. Note that unity will expand the damage region to accomadate
    the base window since nux does not support geometry clipping. So if
    there is a partial intersection of the launcher for example, the
    area of the screen which contains the launcher will be re-painted
    (but the launcher itself won't be redrawn, just its texture) (LP:
    #1080947). (LP: #1080947)
  * BackgroundEffectHelper: Specify the required blur area before
    drawing so selectively copy it at paint time This means that we
    don't have to waste fragment bandwidth copying the entire backbuffer
    when we could just do parts of it. Now BackgroundEffectHelper
    listens to windows and views geometry changes and updates a list of
    blurred regions that might be copied to the backup texture at every
    repaint that affects them. This avoids to copy large regions
    (especially when using big resolutions or multiple monitors), but
    only the ones we really need to blur.
 -- Ubuntu daily release <ps-jenkins@xxxxxxxxxxxxxxxxxxx>   Fri, 14 Feb 2014 23:06:09 +0000

** Changed in: unity (Ubuntu)
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of DX
Packages, which is subscribed to unity in Ubuntu.
Matching subscriptions: dx-packages
https://bugs.launchpad.net/bugs/1277265

Title:
  Clicking a menu entry doesn't always show the drop down menu the first
  time

Status in Unity:
  Fix Committed
Status in “unity” package in Ubuntu:
  Fix Released

Bug description:
  When clicking an applications menu entry in the Panel, the drop down
  menu associated with that entry isn't always shown the first time the
  entry is clicked.  This is particularly apparent when dragging a
  window to a different monitor and then trying to click.

  This issue was actually caught during Autopilot testing on multi-
  monitors.

To manage notifications about this bug go to:
https://bugs.launchpad.net/unity/+bug/1277265/+subscriptions


References