diff -u unity-5.10.0/plugins/unityshell/src/Launcher.cpp unity-5.10.0/plugins/unityshell/src/Launcher.cpp --- unity-5.10.0/plugins/unityshell/src/Launcher.cpp +++ unity-5.10.0/plugins/unityshell/src/Launcher.cpp @@ -294,6 +294,16 @@ launcher_pressure_effect_ = cache.FindTexture("launcher_pressure_effect", 0, 0, cb); options.changed.connect (sigc::mem_fun (this, &Launcher::OnOptionsChanged)); + + // icon information from software center + _sc_icon = NULL; + _sc_icon_title = NULL; + _sc_icon_x = 0; + _sc_icon_y = 0; + _sc_icon_size = 0; + _sc_icon_desktop_file = NULL; + _sc_icon_aptdaemon_task = NULL; + _sc_anim_icon = false; } Launcher::~Launcher() @@ -2083,6 +2093,16 @@ gPainter.PopBackground(push_count); GfxContext.PopClippingRectangle(); GfxContext.PopClippingRectangle(); + + if (_sc_anim_icon) + { + launcher_addrequest_special.emit(_sc_icon_desktop_file, AbstractLauncherIcon::Ptr(), _sc_icon_aptdaemon_task, _sc_icon, _sc_icon_x, _sc_icon_y, _sc_icon_size); + g_free(_sc_icon); + g_free(_sc_icon_title); + g_free(_sc_icon_desktop_file); + g_free(_sc_icon_aptdaemon_task); + _sc_anim_icon = false; + } } void Launcher::PostDraw(nux::GraphicsEngine& GfxContext, bool force_draw) @@ -2950,30 +2970,20 @@ GDBusMethodInvocation* invocation, gpointer user_data) { - if (g_strcmp0(method_name, "AddLauncherItemFromPosition") == 0) { - gchar* icon; - gchar* title; - gint32 icon_x; - gint32 icon_y; - gint32 icon_size; - gchar* desktop_file; - gchar* aptdaemon_task; - - g_variant_get(parameters, "(ssiiiss)", &title, &icon, &icon_x, &icon_y, &icon_size, &desktop_file, &aptdaemon_task, NULL); - Launcher* self = (Launcher*)user_data; - self->launcher_addrequest_special.emit(desktop_file, AbstractLauncherIcon::Ptr(), aptdaemon_task, icon, - icon_x, icon_y, icon_size); + self->_sc_anim_icon = true; + g_variant_get(parameters, "(ssiiiss)", &self->_sc_icon_title, + &self->_sc_icon, + &self->_sc_icon_x, + &self->_sc_icon_y, + &self->_sc_icon_size, + &self->_sc_icon_desktop_file, + &self->_sc_icon_aptdaemon_task, NULL); g_dbus_method_invocation_return_value(invocation, nullptr); - g_free(icon); - g_free(title); - g_free(desktop_file); - g_free(aptdaemon_task); } - } void diff -u unity-5.10.0/debian/changelog unity-5.10.0/debian/changelog --- unity-5.10.0/debian/changelog +++ unity-5.10.0/debian/changelog @@ -1,3 +1,13 @@ +unity (5.10.0-0ubuntu5) precise-proposed; urgency=low + + * Cherry-pick two fixes from trunk: + - Fix the software-center install animation making the display useless + on netbooks (LP: #981168) + - Shortcut keys in workspace section of the shortcut overlay aren't + translated. (LP: #980828) + + -- Didier Roche Tue, 17 Apr 2012 08:09:15 +0200 + unity (5.10.0-0ubuntu4) precise-proposed; urgency=low * Cherry-pick an additional fix from trunk fixing multiple bugs: only in patch2: unchanged: --- unity-5.10.0.orig/plugins/unityshell/src/Launcher.h +++ unity-5.10.0/plugins/unityshell/src/Launcher.h @@ -122,6 +122,8 @@ sigc::signal icon_animation_complete; sigc::signal selection_change; sigc::signal hidden_changed; + sigc::signal sc_launcher_icon_animation; + sigc::connection sc_launcher_icon_animation_connection; virtual bool InspectKeyEvent(unsigned int eventType, unsigned int keysym, @@ -416,6 +418,15 @@ ui::AbstractIconRenderer::Ptr icon_renderer; BackgroundEffectHelper bg_effect_helper_; + + gchar* _sc_icon; + gchar* _sc_icon_title; + gint32 _sc_icon_x; + gint32 _sc_icon_y; + gint32 _sc_icon_size; + gchar* _sc_icon_desktop_file; + gchar* _sc_icon_aptdaemon_task; + bool _sc_anim_icon; }; } only in patch2: unchanged: --- unity-5.10.0.orig/plugins/unityshell/src/ShortcutHint.cpp +++ unity-5.10.0/plugins/unityshell/src/ShortcutHint.cpp @@ -132,7 +132,7 @@ if (opt.name() == arg2()) { std::string temp(impl::GetMetaKey(opt.value().action().keyToString())); - temp = impl::FixShortcutFormat(temp); + temp = impl::GetTranslatableLabel(temp); temp = impl::ProperCase(temp); if (value() != temp)