Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

wxWidgets 3.1.2 Released

<< < (8/11) > >>

ollydbg:

--- Quote from: Miguel Gimenez on January 15, 2019, 11:53:39 am ---I'm using C::B with New Pagodi's patch and CC works OK, but sometimes the caret disappears while editing: you can't see it, but typing works normally. The only way to make it visible again is changing focus to another window and then to the current window.

If I disable CC this does not happen. I can't test without the patch because C:B crashes.

Using Windows 7 64 bits, wx3.1.2 32 bits, revision 11552.

--- End quote ---
I can confirm this issue.

EDIT: it looks like this issue happens when I hover the mouse on some variable, which means it's a calltip related issue.
Also, when this issue happens, the high light of the current line is also missing.

ollydbg:

--- Quote from: ollydbg on January 15, 2019, 03:15:53 pm ---
--- Quote from: Miguel Gimenez on January 15, 2019, 11:53:39 am ---I'm using C::B with New Pagodi's patch and CC works OK, but sometimes the caret disappears while editing: you can't see it, but typing works normally. The only way to make it visible again is changing focus to another window and then to the current window.

If I disable CC this does not happen. I can't test without the patch because C:B crashes.

Using Windows 7 64 bits, wx3.1.2 32 bits, revision 11552.

--- End quote ---
I can confirm this issue.

EDIT: it looks like this issue happens when I hover the mouse on some variable, which means it's a calltip related issue.
Also, when this issue happens, the high light of the current line is also missing.

--- End quote ---

My guess here is that we have such code in sdk\ccmanager.cpp

--- Code: ---//{ Unfocusable popup

// imported with small changes from PlatWX.cpp
class UnfocusablePopupWindow :
#if wxUSE_POPUPWIN
    public wxPopupWindow
#else
     public wxFrame
#endif // wxUSE_POPUPWIN
{
public:
#if wxUSE_POPUPWIN
    typedef wxPopupWindow BaseClass;

    UnfocusablePopupWindow(wxWindow* parent, int style = wxBORDER_NONE) :
        wxPopupWindow(parent, style)
#else
    typedef wxFrame BaseClass;

    UnfocusablePopupWindow(wxWindow* parent, int style = 0) :
        wxFrame(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize,
                style | wxFRAME_NO_TASKBAR | wxFRAME_FLOAT_ON_PARENT | wxNO_BORDER | wxFRAME_SHAPED
#ifdef __WXMAC__
                | wxPOPUP_WINDOW
#endif // __WXMAC__
                )
#endif // wxUSE_POPUPWIN
    {
        Hide();
    }

    bool Destroy() override;
    void OnFocus(wxFocusEvent& event);
    void ActivateParent();

    void DoSetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO) override;
    bool Show(bool show = true) override;

private:
    DECLARE_EVENT_TABLE()
};


--- End code ---

This means we need to use the same wxNonActivatingPopupWindow class as New Pagodi's patch?

Miguel Gimenez:

--- Quote ---This means we need to use the same wxNonActivatingPopupWindow class as New Pagodi's patch?
--- End quote ---

I have just tested this and the issue is still present.

Miguel Gimenez:
If I apply New Pagodi's patch to src\sdk\wxscintilla\src\ScintillaWX.cpp (near line 110) then the isssue goes away (caret doesn't disappear and call tips are shown).

Probably patching src\sdk\ccmanager.cpp as you suggested solves an still unseen problem.

The changes to wxPopupWindow in wx3.1.2 are a big issue for Code Completion. New Pagodi has a pull request in wxWidgets site restoring old behaviour, it is accepted (but not yet applied) for wx3.1.3.

We can patch Scintilla, backport New Pagodi's changes to wx3.1.2 (this would force all developers and outsiders like me to use patched wx libraries) or wait and jump directly from 3.1.1 to 3.1.3 when it is ready.

oBFusCATed:
First we wait for the changes to enter wx-master. Then we'll decide what course of action we'll take for night/release binaries. I don't think waiting for wx3.1.3 is viable option. wx releases are very infrequent.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version