Recent Posts

Pages: 1 [2] 3 4 5 6 7 ... 10
11
Development / Re: flicker when I rezize the Build log control(TextCtrlLogger) issue
« Last post by ollydbg on March 26, 2026, 01:38:18 pm »
 I wrote some code snippet like this

Code
    if (control)
    {
        // Check if it's already enabled (either by default or previously set)
        if (!control->IsDoubleBuffered())
        {
            control->SetDoubleBuffered(true);
        }

        // Always a good idea to bind this if you're still seeing "white flashes"
        control->Bind(wxEVT_ERASE_BACKGROUND, [](wxEraseEvent& event) {
            // Leave empty to prevent background clearing
        });
    }

I set the breakpoint inside the "if (!control->IsDoubleBuffered())" clause, and I see it hit there. So, under wx 3.3.2, the double buffer is not enabled by default, so calling the "control->SetDoubleBuffered(true);" will enable it.


Quote
in fact, it is not redrawn until I release the mouse button
OK, I see such option, it is an option for Windows OS's graphics system to reduce the flicker.

12
Quote
So, the double buffering is disabled by default in 3.3.2 for the wxTextCtrl class?

I do not know, try calling control->IsDoubleBuffered() after loggers.cpp:171. With 3.2.10 it returns false, and the control does not flicker (in fact, it is not redrawn until I release the mouse button).
13
Nightly builds / Re: The 24 March 2026 build (13828) is out.
« Last post by killerbot on March 25, 2026, 03:59:32 pm »
was on the todo list:
* wx 3.3.2
* gcc 15.2

I think will do the wx step up first.
14
Development / Re: flicker when I rezize the Build log control(TextCtrlLogger) issue
« Last post by ollydbg on March 25, 2026, 03:07:10 pm »
Which version of wxWidgets are you using?
I'm using the latest wx 3.3.2 release.


Quote
Double buffering behaviour has been modified around wx3.3.2, see for example Revert "Enable double buffering for all generic windows in wxMSW"

So, the double buffering is disabled by default in 3.3.2 for the wxTextCtrl class?
15
Which version of wxWidgets are you using?

Double buffering behaviour has been modified around wx3.3.2, see for example Revert "Enable double buffering for all generic windows in wxMSW"
16
Nightly builds / Re: The 24 March 2026 build (13828) is out.
« Last post by ollydbg on March 25, 2026, 01:25:22 pm »
Hi, thanks, I see it still uses wx 3.2.8.

Maybe, you could try a more recent wxWidgets version, see here: wxWidgets 3.2.10 and 3.3.2 Released - wxWidgets

BTW: I use the github action to build a wx 3.3.2 based version(since Tim has made contribution to the msys2's wx package, thanks).
See:
asmwarrior/x86-codeblocks-builds: Automatically built codeblocks for both 32b and 64b Windows systems.

and my forked C::B source of a git mirror:

asmwarrior/codeblocks_sfmirror: Unofficial auto-updated GIT mirror of C::B repo in SourceForge. Does NOT accept patches nor pull requests.
17
Development / flicker when I rezize the Build log control(TextCtrlLogger) issue
« Last post by ollydbg on March 25, 2026, 01:20:21 pm »
Today, I noticed that when I resize the "Build log" panel, I see this window get flickered a lot. When I drag the panel edge between our cbEditor window and the Build log, I don't see the cbEditor get flickered.

So, I prepared a patch, and it looks like with this patch, the "Build log"'s flicker get reduced, can you try this patch? Or maybe there are many other method to handle this.

Code
From 015270b1dc35f3020e549c0e7af310fcb682b66d Mon Sep 17 00:00:00 2001
From: asmwarrior <hidehide@hidehide.com>
Date: Wed, 25 Mar 2026 18:08:38 +0800
Subject: [PATCH] text logger: try to enable the double buffering to stop the
 flickering

---
 src/sdk/loggers.cpp | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/sdk/loggers.cpp b/src/sdk/loggers.cpp
index f3ec29f8d..25f8d5c18 100644
--- a/src/sdk/loggers.cpp
+++ b/src/sdk/loggers.cpp
@@ -169,6 +169,17 @@ wxWindow* TextCtrlLogger::CreateControl(wxWindow* parent)
 {
     if (!control)
         control = new wxTextCtrl(parent, -1, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE | wxTE_READONLY | wxTE_RICH | wxTE_NOHIDESEL | wxTE_AUTO_URL);
+
+    // Enable double buffering to stop flickering
+    if (control)
+    {
+        control->SetDoubleBuffered(true);
+        // In your event table or Bind calls:
+        control->Bind(wxEVT_ERASE_BACKGROUND, [](wxEraseEvent& event) {
+            // Do nothing here to skip the default background clearing
+        });
+    }
+
     return control;
 }
 

Thanks.
18
Nightly builds / The 24 March 2026 build (13828) is out.
« Last post by killerbot on March 24, 2026, 06:42:31 pm »
We switched to gcc 15.1.0 (on 23 May 2025) --> download the new wx/mingw dll's see link below

Get the compiler we use here : https://github.com/brechtsanders/winlibs_mingw/releases/download/15.1.0posix-12.0.0-ucrt-r1/winlibs-x86_64-posix-seh-gcc-15.1.0-mingw-w64ucrt-12.0.0-r1.7z

Get quick announcements through the RSS feed http://www.codeblocks.org/nightly/CodeBlock_RSS.xml

Before you use a nightly make sure you understand how it works.

A link to the unicode windows wxWidget dll(s) for Code::Blocks : https://sourceforge.net/projects/codeblocks/files/Binaries/Nightlies/Prerequisites/wxmsw32u_gcc_cb_wx328_2D_gcc1510-mingw64.7z
A link to Mingw64 dll's needed by Code::Blocks : http://sourceforge.net/projects/codeblocks/files/Binaries/Nightlies/Prerequisites/Mingw64dlls15.1.0.7z


The 24 March 2026 build is out.
  - Windows :
   http://sourceforge.net/projects/codeblocks/files/Binaries/Nightlies/2026/CB_20260324_rev13828_win64.7z
  - Linux :
   none

The current SDK version is : 2.25.0

Resolved Fixed:

  • devcpploader: avoid dereferencing null pointer m_pProject (thanks blauzahn).

Regressions/Confirmed/Annoying/Common bugs:


    19
    General (but related to Code::Blocks) / Re: File Association?
    « Last post by ampleintend on March 24, 2026, 09:34:43 am »
    The issue is that Windows is not passing the file path to Code::Blocks when you double-click.
    Here is a quick fix I suggest:
    • Go to Windows → Settings → Default apps → Choose default apps by file type.
      Select the .c extension and set Code::Blocks as the default app; ensure that the command includes " %1" to open the file.
      Alternatively, you can drag and drop the file into the IDE, or use "Open with" → Code::Blocks.
    Once done, double-clicking the file should open it in a new tab.
    20
    Development / Re: Assert in Setting/Environment
    « Last post by blauzahn on March 23, 2026, 08:25:24 pm »
    Quote
    Fixed in r13828.

    Thank you. I hope my post helped a little to shed some light onto the topic.
    Pages: 1 [2] 3 4 5 6 7 ... 10