fixed #2018
This commit is contained in:
parent
e4d0811d86
commit
6d1de0a933
|
@ -77,7 +77,8 @@ LiveModeWindow :: LiveModeWindow (Ptr<GLiveSupport>::Ref gLiveSupport,
|
||||||
throw ()
|
throw ()
|
||||||
: GuiWindow(gLiveSupport,
|
: GuiWindow(gLiveSupport,
|
||||||
bundle,
|
bundle,
|
||||||
windowOpenerButton)
|
windowOpenerButton),
|
||||||
|
isDeleting(false)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
set_title(*getResourceUstring("windowTitle"));
|
set_title(*getResourceUstring("windowTitle"));
|
||||||
|
@ -397,7 +398,7 @@ LiveModeWindow :: onKeyPressed(GdkEventKey * event) throw ()
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
case KeyboardShortcut::removeItem :
|
case KeyboardShortcut::removeItem :
|
||||||
treeView->onRemoveMenuOption();
|
onRemoveItemButtonClicked();
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
case KeyboardShortcut::playAudio :
|
case KeyboardShortcut::playAudio :
|
||||||
|
@ -638,7 +639,10 @@ LiveModeWindow :: constructPlaylistContextMenu(void) throw ()
|
||||||
void
|
void
|
||||||
LiveModeWindow :: onClearListButtonClicked (void) throw ()
|
LiveModeWindow :: onClearListButtonClicked (void) throw ()
|
||||||
{
|
{
|
||||||
|
isDeleting = true;
|
||||||
treeModel->clear();
|
treeModel->clear();
|
||||||
|
isDeleting = false;
|
||||||
|
onTreeModelChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -648,7 +652,10 @@ LiveModeWindow :: onClearListButtonClicked (void) throw ()
|
||||||
void
|
void
|
||||||
LiveModeWindow :: onRemoveItemButtonClicked(void) throw ()
|
LiveModeWindow :: onRemoveItemButtonClicked(void) throw ()
|
||||||
{
|
{
|
||||||
|
isDeleting = true;
|
||||||
treeView->onRemoveMenuOption();
|
treeView->onRemoveMenuOption();
|
||||||
|
isDeleting = false;
|
||||||
|
onTreeModelChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -658,6 +665,10 @@ LiveModeWindow :: onRemoveItemButtonClicked(void) throw ()
|
||||||
void
|
void
|
||||||
LiveModeWindow :: onTreeModelChanged(void) throw ()
|
LiveModeWindow :: onTreeModelChanged(void) throw ()
|
||||||
{
|
{
|
||||||
|
if (isDeleting) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Gtk::TreeModel::iterator iter = treeModel->children().begin();
|
Gtk::TreeModel::iterator iter = treeModel->children().begin();
|
||||||
|
|
||||||
if (iter) {
|
if (iter) {
|
||||||
|
|
|
@ -86,6 +86,11 @@ class LiveModeWindow : public GuiWindow
|
||||||
*/
|
*/
|
||||||
Ptr<Playable>::Ref savedTopPlayable;
|
Ptr<Playable>::Ref savedTopPlayable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A flag used to disable preload() while deleting items.
|
||||||
|
*/
|
||||||
|
bool isDeleting;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Export Playlist pop-up window.
|
* The Export Playlist pop-up window.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue