Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.4
kdebase4
changeset_r18dd5bd012dae86b118c7b7a132866c0c778...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File changeset_r18dd5bd012dae86b118c7b7a132866c0c7781297.diff of Package kdebase4
commit 18dd5bd012dae86b118c7b7a132866c0c7781297 Author: Kurt Hindenburg <kurt.hindenburg@gmail.com> Date: Sat Feb 5 15:58:42 2011 -0500 Fix issue where the context menu popup no longer appeared after closing a tab. Backport to 4.6 branch. CCBUG: 185466 diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 49f1bb4..39727fc 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -86,6 +86,8 @@ MainWindow::MainWindow() connect( _viewManager , SIGNAL(empty()) , this , SLOT(close()) ); connect( _viewManager , SIGNAL(activeViewChanged(SessionController*)) , this , SLOT(activeViewChanged(SessionController*)) ); + connect( _viewManager , SIGNAL(unplugController(SessionController*)) , this , + SLOT(disconnectController(SessionController*)) ); connect( _viewManager , SIGNAL(viewPropertiesChanged(const QList<ViewProperties*>&)) , bookmarkHandler() , SLOT(setViews(const QList<ViewProperties*>&)) ); diff --git a/src/MainWindow.h b/src/MainWindow.h index 98ca2a0..2e4276d 100644 --- a/src/MainWindow.h +++ b/src/MainWindow.h @@ -161,6 +161,7 @@ class MainWindow : public KXmlGuiWindow void showShortcutsDialog(); void newFromProfile(Profile::Ptr profile); void activeViewChanged(SessionController* controller); + void disconnectController(SessionController* controller); void activeViewTitleChanged(ViewProperties*); void sessionListChanged(const QList<QAction*>& actions); @@ -181,7 +182,6 @@ class MainWindow : public KXmlGuiWindow void setupActions(); void setupWidgets(); QString activeSessionDir() const; - void disconnectController(SessionController* controller); // sets the active shortcuts of actions in 'dest' to the shortcuts of actions // with the same name in 'source' (see KAction::ActiveShortcut) diff --git a/src/ViewManager.cpp b/src/ViewManager.cpp index 3c5db04..a846a38 100644 --- a/src/ViewManager.cpp +++ b/src/ViewManager.cpp @@ -377,6 +377,10 @@ void ViewManager::sessionFinished() } } + // This is needed to remove this controller from factory() in + // order to prevent BUG: 185466 - disappearing menu popup + if (_pluggedController) + emit unplugController(_pluggedController); } void ViewManager::focusActiveView() diff --git a/src/ViewManager.h b/src/ViewManager.h index 3a1a796..bf17b4d 100644 --- a/src/ViewManager.h +++ b/src/ViewManager.h @@ -175,6 +175,12 @@ signals: */ void activeViewChanged(SessionController* controller); + /** + * Emitted when the current session needs unplugged from factory(). + * @param controller The controller associated with the active view + */ + void unplugController(SessionController* controller); + /** * Emitted when the list of view properties ( as returned by viewProperties() ) changes. * This occurs when views are added to or removed from the active container, or
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor