Skip to content
Permalink
Browse files

1. убрана блокировка перерисовки окон.

  • Loading branch information...
zg0 committed May 15, 2016
1 parent 2f3528f commit 2a12427ca1d6096ec6d0831cee199c53411e9e00
Showing with 46 additions and 307 deletions.
  1. +5 −1 far/changelog
  2. +13 −27 far/dialog.cpp
  3. +1 −0 far/dialog.hpp
  4. +0 −17 far/edit.cpp
  5. +4 −108 far/editor.cpp
  6. +1 −1 far/editor.hpp
  7. +0 −8 far/elevation.cpp
  8. +3 −19 far/fileedit.cpp
  9. +0 −17 far/filelist.cpp
  10. +0 −3 far/grabber.cpp
  11. +8 −22 far/help.cpp
  12. +0 −7 far/macro.cpp
  13. +10 −30 far/manager.cpp
  14. +0 −3 far/panel.cpp
  15. +0 −5 far/plugins.cpp
  16. +0 −25 far/scrobj.cpp
  17. +0 −4 far/scrobj.hpp
  18. +0 −8 far/treelist.cpp
  19. +0 −1 far/usermenu.cpp
  20. +1 −1 far/vbuild.m4
@@ -1,4 +1,8 @@
zg 15.05.2016 00:33:49 +0200 - build 4672
zg 15.05.2016 17:37:36 +0200 - build 4673

1. убрана блокировка перерисовки окон.

zg 15.05.2016 00:33:49 +0200 - build 4672

1. с форума: символ из "бюжэхъё" не включается в быстрый поиск.

@@ -377,7 +377,7 @@ void Dialog::Init()
m_CanLoseFocus = FALSE;
//Номер плагина, вызвавшего диалог (-1 = Main)
PluginOwner = nullptr;
DialogMode.Set(DMODE_ISCANMOVE);
DialogMode.Set(DMODE_ISCANMOVE|DMODE_VISIBLE);
SetDropDownOpened(FALSE);
IsEnableRedraw=0;
m_FocusPos=(size_t)-1;
@@ -487,20 +487,17 @@ void Dialog::Show()
_DIALOG(CleverSysLog CL(L"Dialog::Show()"));
_DIALOG(SysLog(L"[%p] Dialog::Show()",this));

if (!DialogMode.Check(DMODE_OBJECTS_INITED))
if (!DialogMode.Check(DMODE_OBJECTS_INITED) || !DialogMode.Check(DMODE_VISIBLE))
return;

if (!Locked() && DialogMode.Check(DMODE_RESIZED) && !PreRedrawStack().empty())
if (DialogMode.Check(DMODE_RESIZED) && !PreRedrawStack().empty())
{
const auto item = PreRedrawStack().top();
item->m_PreRedrawFunc();
}

DialogMode.Clear(DMODE_RESIZED);

if (Locked())
return;

DialogMode.Set(DMODE_SHOW);
ScreenObjectWithShadow::Show();
}
@@ -1554,9 +1551,6 @@ void Dialog::ShowDialog(size_t ID)
_DIALOG(CleverSysLog CL(L"Dialog::ShowDialog()"));
_DIALOG(SysLog(L"Locked()=%d, DMODE_SHOW=%d DMODE_DRAWING=%d",Locked(),DialogMode.Check(DMODE_SHOW),DialogMode.Check(DMODE_DRAWING)));

if (Locked())
return;

string strStr;
int X,Y;
size_t I,DrawItemCount;
@@ -4723,28 +4717,20 @@ intptr_t Dialog::SendMessage(intptr_t Msg,intptr_t Param1,void* Param2)
/*****************************************************************/
case DM_SHOWDIALOG:
{
// if(!IsEnableRedraw)
if (Param1)
{
if (Param1)
if (!IsVisible())
{
/* $ 20.04.2002 KM
Залочим прорисовку при прятании диалога, в противном
случае ОТКУДА менеджер узнает, что отрисовывать
объект нельзя!
*/
if (!IsVisible())
{
Unlock();
Show();
}
DialogMode.Set(DMODE_VISIBLE);
Show();
}
else
}
else
{
if (IsVisible())
{
if (IsVisible())
{
Hide();
Lock();
}
Hide();
DialogMode.Clear(DMODE_VISIBLE);
}
}
return 0;
@@ -68,6 +68,7 @@ enum DIALOG_MODES
DMODE_FULLSHADOW =0x00400000,
DMODE_NOPLUGINS =0x00800000,
DMODE_NEEDUPDATE =0x01000000, // необходимо обновить весь диалог?
DMODE_VISIBLE =0x02000000, // отображать диалог на экране (DM_SHOWDIALOG)
DMODE_KEEPCONSOLETITLE =0x10000000, // не изменять заголовок консоли
DMODE_CLICKOUTSIDE =0x20000000, // было нажатие мыши вне диалога?
DMODE_MSGINTERNAL =0x40000000, // Внутренняя Message?
@@ -804,18 +804,13 @@ int Edit::ProcessKey(const Manager::Key& Key)
}
case KEY_SHIFTHOME: case KEY_SHIFTNUMPAD7:
{
Lock();

while (m_CurPos>0)
RecurseProcessKey(KEY_SHIFTLEFT);

Unlock();
Show();
return TRUE;
}
case KEY_SHIFTEND: case KEY_SHIFTNUMPAD1:
{
Lock();
int Len;

if (!Mask.empty())
@@ -836,8 +831,6 @@ int Edit::ProcessKey(const Manager::Key& Key)

LastCurPos=m_CurPos;
}

Unlock();
Show();
return TRUE;
}
@@ -891,7 +884,6 @@ int Edit::ProcessKey(const Manager::Key& Key)
}

{
Lock();
SCOPED_ACTION(auto)(CallbackSuppressor());

// BUGBUG
@@ -911,7 +903,6 @@ int Edit::ProcessKey(const Manager::Key& Key)
break;
}

Unlock();
}
Changed(true);
Show();
@@ -920,13 +911,9 @@ int Edit::ProcessKey(const Manager::Key& Key)
case KEY_CTRLQ:
case KEY_RCTRLQ:
{
Lock();

if (!m_Flags.Check(FEDITLINE_PERSISTENTBLOCKS) && (m_SelStart != -1 || m_Flags.Check(FEDITLINE_CLEARFLAG)))
RecurseProcessKey(KEY_DEL);

ProcessCtrlQ();
Unlock();
Show();
return TRUE;
}
@@ -973,8 +960,6 @@ int Edit::ProcessKey(const Manager::Key& Key)
return FALSE;
{
SCOPED_ACTION(auto)(CallbackSuppressor());
Lock();

if (!Mask.empty())
{
int MaskLen = static_cast<int>(Mask.size());
@@ -1012,8 +997,6 @@ int Edit::ProcessKey(const Manager::Key& Key)
break;
}
}

Unlock();
}
Changed(true);
Show();
Oops, something went wrong.

0 comments on commit 2a12427

Please sign in to comment.
You can’t perform that action at this time.