]> de.git.xonotic.org Git - xonotic/netradiant.git/log
xonotic/netradiant.git
22 months agoradiant: rename AppData folder on Windows, also do not mixup with NRC
Thomas Debesse [Sat, 18 Jun 2022 23:55:22 +0000 (01:55 +0200)]
radiant: rename AppData folder on Windows, also do not mixup with NRC

Configuration is now stored in %AppData%/NetRadiant
instead of %AppData%/NetRadiantSettings on Windows.

It's more consistent with the way of doing things
one windows and it also prevents to conflict with
NetRadiant Custom configuration.

22 months agoradiant: restore original backup behaviour on Windows, ref 4d38a666
Thomas Debesse [Sun, 19 Jun 2022 19:17:32 +0000 (21:17 +0200)]
radiant: restore original backup behaviour on Windows, ref 4d38a666

Restore original backup behaviour on Windows as NT symlinks are not handled
yet, see 4d38a666f972e7cbc2156865a2c99ecf2192c467.

2 years agoradiant: introduce transformpath lib and make use of it to transform engine path illwieckz/transformpath 189/head
Thomas Debesse [Fri, 26 Nov 2021 00:21:23 +0000 (01:21 +0100)]
radiant: introduce transformpath lib and make use of it to transform engine path

22 months agoradiant: rework the configuration of FHS and absolute FHS installation
Thomas Debesse [Sat, 18 Jun 2022 21:23:52 +0000 (23:23 +0200)]
radiant: rework the configuration of FHS and absolute FHS installation

22 months agofix bobtoolz exclusion list path
Walter Doekes [Wed, 13 Apr 2022 21:50:40 +0000 (23:50 +0200)]
fix bobtoolz exclusion list path

"Failed To Load Exclusion List: /usr/bin/plugins/bt/bt-el1.txt"
when clicking on Tree Planter. Now it's rightly loaded from
"/usr/share/netradiant/plugins/bt/bt-el1.txt".

22 months agouse /usr/lib/x86_64-linux-gnu/netradiant path
Walter Doekes [Wed, 13 Apr 2022 19:51:52 +0000 (21:51 +0200)]
use /usr/lib/x86_64-linux-gnu/netradiant path

22 months agofix warning when not really starting netradiant
Walter Doekes [Sat, 9 Apr 2022 17:48:22 +0000 (19:48 +0200)]
fix warning when not really starting netradiant

When doing netradiant --help, you would see:
GLib-CRITICAL **: 19:22:11.618: g_string_free: assertion 'string != NULL'
failed -- twice. This fixes it.

22 months agodo not rename() .map symlinks, but just overwrite them
Walter Doekes [Sat, 9 Apr 2022 17:20:58 +0000 (19:20 +0200)]
do not rename() .map symlinks, but just overwrite them

If the user uses symlinks (perhaps from a carefully constructed CVS path),
we would break the symlink when saving the map file. Do not write a .bak
file in this case and just overwrite the symlink target.

2 years agoMerge branch 'flake' into 'master'
Thomas Debesse [Tue, 15 Feb 2022 22:10:41 +0000 (22:10 +0000)]
Merge branch 'flake' into 'master'

Add nix flake support for the repo's quake tools (tools like q3map)

See merge request xonotic/netradiant!192

2 years agoMerge branch 'make-git-dependency-optional' into 'master'
Thomas Debesse [Tue, 15 Feb 2022 22:08:33 +0000 (22:08 +0000)]
Merge branch 'make-git-dependency-optional' into 'master'

Make git dependency optional if GIT_VERSION is set

See merge request xonotic/netradiant!191

2 years agoMerge branch 'reproducible' into 'master'
Thomas Debesse [Tue, 15 Feb 2022 22:04:45 +0000 (22:04 +0000)]
Merge branch 'reproducible' into 'master'

Reproducible builds: omit build date and q3map version from bsp files

See merge request xonotic/netradiant!190

2 years agoAdd nix flake support for the repo's quake tools (tools like q3map) 192/head
Antoine Fontaine [Thu, 10 Feb 2022 18:29:44 +0000 (19:29 +0100)]
Add nix flake support for the repo's quake tools (tools like q3map)

A nix flake allows building and running the software with the Nix
package manager, used in NixOS or standalone. You can consider as
a package or repo description.

In this case, this only packages the quake tool binaries, that is
h2data, q2map, q3data, q3map2 and qdata3.

2 years agoMake git dependency optional if GIT_VERSION is set 191/head
Antoine Fontaine [Thu, 10 Feb 2022 21:14:17 +0000 (22:14 +0100)]
Make git dependency optional if GIT_VERSION is set

2 years agomime: fix mimetype and file type association
Thomas Debesse [Tue, 11 Jan 2022 10:53:24 +0000 (11:53 +0100)]
mime: fix mimetype and file type association

2 years agoReproducible builds: omit build date and q3map version from bsp files 190/head
Antoine Fontaine [Mon, 3 Jan 2022 16:41:01 +0000 (17:41 +0100)]
Reproducible builds: omit build date and q3map version from bsp files

2 years agoradiant: store preferences in Library/Application Support on macOS
Thomas Debesse [Thu, 23 Dec 2021 00:00:34 +0000 (01:00 +0100)]
radiant: store preferences in Library/Application Support on macOS

2 years agoMerge branch 'illwieckz/fixorigin' into 'master'
Thomas Debesse [Fri, 24 Dec 2021 17:00:01 +0000 (17:00 +0000)]
Merge branch 'illwieckz/fixorigin' into 'master'

q3map2: Import two commits from netradiant-custom by Garux (fix debugorigin crash and uninitialized value)

See merge request xonotic/netradiant!188

2 years agoMerge branch 'illwieckz/picomaterial' into 'master'
Thomas Debesse [Thu, 23 Dec 2021 19:20:53 +0000 (19:20 +0000)]
Merge branch 'illwieckz/picomaterial' into 'master'

pico: detect intentional material name and do not replace them with texture

See merge request xonotic/netradiant!187

2 years agopico: detect intentional material name and do not replace them with texture 187/head
Thomas Debesse [Thu, 23 Dec 2021 14:41:24 +0000 (15:41 +0100)]
pico: detect intentional material name and do not replace them with texture

Detect intentional material name to not replace it with texture name.

Reimplement commits by Garux:
https://github.com/Garux/netradiant-custom/commit/1bd3e7ae186b55fb61e3738d2493432c0b1f5a7b
https://github.com/Garux/netradiant-custom/commit/ea21eee2254fb2e667732d8f1b0f83c439a89bfa

This attempts to restore proper material behaviour when the mapper knows what he is doing,
also called Julius' case or correct case because Julius is always correct™
while keeping the fallback for other situations, also called newbie's case
which may be compatible with third-party tools not following Quake 3 conventions.

See: https://gitlab.com/xonotic/netradiant/-/merge_requests/179#note_777324051

<3 @julius__ @Garux

2 years agofix uninitialized value use in IlluminateRawLightmap 188/head
Garux [Tue, 21 Dec 2021 10:48:33 +0000 (13:48 +0300)]
fix uninitialized value use in IlluminateRawLightmap

2 years agofix -debugorigin crash in IlluminateVertexes
Garux [Tue, 21 Dec 2021 10:20:41 +0000 (13:20 +0300)]
fix -debugorigin crash in IlluminateVertexes

2 years agolibrary-bundler: proper xargs usage
Thomas Debesse [Sun, 28 Nov 2021 00:39:02 +0000 (01:39 +0100)]
library-bundler: proper xargs usage

Prevent this warning:

xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value

2 years agoreadme: update
Thomas Debesse [Sun, 28 Nov 2021 00:38:43 +0000 (01:38 +0100)]
readme: update

2 years agoradiant: list games alphabetically
Thomas Debesse [Tue, 9 Nov 2021 12:39:55 +0000 (13:39 +0100)]
radiant: list games alphabetically

Note: for some unknown reason it sorts “Quake 3” after “Quake 4”.

2 years agogamepacks: add more gamepacks and turn some into git-based ones
Thomas Debesse [Tue, 17 Aug 2021 07:34:06 +0000 (09:34 +0200)]
gamepacks: add more gamepacks and turn some into git-based ones

2 years agobikeshedding: better indentation
Thomas Debesse [Tue, 9 Nov 2021 03:00:35 +0000 (04:00 +0100)]
bikeshedding: better indentation

2 years agobikeshedding: better string syntax
Thomas Debesse [Tue, 9 Nov 2021 02:16:00 +0000 (03:16 +0100)]
bikeshedding: better string syntax

2 years agomainframe: request texture browser to show all or common textures on VFS refresh
Thomas Debesse [Sat, 2 Oct 2021 01:13:51 +0000 (03:13 +0200)]
mainframe: request texture browser to show all or common textures on VFS refresh

2 years agocmake: fix gtkglex build configuration issues
Thomas Debesse [Thu, 21 Oct 2021 12:11:32 +0000 (14:11 +0200)]
cmake: fix gtkglex build configuration issues

2 years agoMerge branch 'focus-ok-button' into 'master'
Thomas Debesse [Mon, 8 Nov 2021 22:22:20 +0000 (22:22 +0000)]
Merge branch 'focus-ok-button' into 'master'

Focus "ok" button on modal windows by default

See merge request xonotic/netradiant!186

2 years agoMerge branch 'dds' into 'master'
Thomas Debesse [Mon, 8 Nov 2021 22:21:39 +0000 (22:21 +0000)]
Merge branch 'dds' into 'master'

radiant: also list images from dds/textures/ as textures/ ones, <3 Ballerburg

See merge request xonotic/netradiant!185

2 years agoradiant: also list images from dds/textures/ as textures/ ones 185/head
Thomas Debesse [Fri, 27 Aug 2021 23:12:42 +0000 (01:12 +0200)]
radiant: also list images from dds/textures/ as textures/ ones

2 years agogamepack-manager: fix Kingpin gamepack download url
Thomas Debesse [Tue, 2 Nov 2021 16:40:46 +0000 (17:40 +0100)]
gamepack-manager: fix Kingpin gamepack download url

2 years agoradiant/layouts: add a single-window layout
Thomas Debesse [Wed, 29 Sep 2021 23:37:09 +0000 (01:37 +0200)]
radiant/layouts: add a single-window layout

2 years agoFocus "ok" button on modal windows by default 186/head
Antoine Fontaine [Wed, 29 Sep 2021 13:56:56 +0000 (15:56 +0200)]
Focus "ok" button on modal windows by default

2 years agodaemonmap: sync submodule
Thomas Debesse [Wed, 29 Sep 2021 13:44:30 +0000 (15:44 +0200)]
daemonmap: sync submodule

2 years agogtkglext: some fixes and improvements
Thomas Debesse [Wed, 29 Sep 2021 13:42:57 +0000 (15:42 +0200)]
gtkglext: some fixes and improvements

2 years agoradiant: ask user to restart the editor when map load switches the brush format
Thomas Debesse [Fri, 27 Aug 2021 21:25:25 +0000 (23:25 +0200)]
radiant: ask user to restart the editor when map load switches the brush format

2 years agoMerge branch 'iqm' into 'master'
Thomas Debesse [Tue, 10 Aug 2021 04:56:30 +0000 (04:56 +0000)]
Merge branch 'iqm' into 'master'

add IQM format support into lib/picomodel

See merge request xonotic/netradiant!184

2 years agoadd IQM format support into lib/picomodel 184/head
Marco Hladik [Thu, 29 Jul 2021 15:44:53 +0000 (17:44 +0200)]
add IQM format support into lib/picomodel

This is a combination of 2 commits.

- add IQM format support into lib/picomodel
  https://github.com/TTimo/GtkRadiant/commit/3408871d79d51b9bf27f0098cd3bc4edd92b105d
- Merge illwieckz their portability fix
  https://github.com/TTimo/GtkRadiant/commit/be993ad4222fc9fc28080a8ba8f962da82c7b1f4

See https://github.com/TTimo/GtkRadiant/pull/668

2 years agoplugins: delete iqmmodel, picomodel will implement iqm instead
Thomas Debesse [Fri, 30 Jul 2021 02:56:18 +0000 (04:56 +0200)]
plugins: delete iqmmodel, picomodel will implement iqm instead

2 years agoradiant: add entries to increase and decrease FOV in camera menu
ballerburg9005 [Thu, 24 Jun 2021 22:58:54 +0000 (00:58 +0200)]
radiant: add entries to increase and decrease FOV in camera menu

2 years agoradiant: make camera FOV modifiable and add slider in preferences
ballerburg9005 [Thu, 24 Jun 2021 22:31:28 +0000 (00:31 +0200)]
radiant: make camera FOV modifiable and add slider in preferences

2 years agoradiant: Increase the far-clip distance
ballerburg9005 [Thu, 24 Jun 2021 22:31:28 +0000 (00:31 +0200)]
radiant: Increase the far-clip distance

2 years agoq3map2: increase VFS_MAXDIRS because multiple pakpaths with many pk3dirs can lead...
Thomas Debesse [Wed, 16 Jun 2021 20:31:06 +0000 (22:31 +0200)]
q3map2: increase VFS_MAXDIRS because multiple pakpaths with many pk3dirs can lead to high list of VFS directories

2 years agoMerge branch 'gtk3' into 'master' 10/merge
Thomas Debesse [Mon, 3 May 2021 23:10:42 +0000 (23:10 +0000)]
Merge branch 'gtk3' into 'master'

Disable wayland backend on Linux and BSD

See merge request xonotic/netradiant!178

2 years agovarious: readability improvements 178/head
Antoine Fontaine [Sun, 28 Mar 2021 15:03:10 +0000 (17:03 +0200)]
various: readability improvements

2 years agovarious: drop dead code
Antoine Fontaine [Sun, 28 Mar 2021 14:15:09 +0000 (16:15 +0200)]
various: drop dead code

2 years agoradiant/brush: use std::shared_ptr
Antoine Fontaine [Sun, 28 Mar 2021 11:49:11 +0000 (13:49 +0200)]
radiant/brush: use std::shared_ptr

2 years agoCorrect IMPL call
Antoine Fontaine [Sat, 27 Mar 2021 18:45:47 +0000 (19:45 +0100)]
Correct IMPL call

2 years agoDisable wayland backend on Linux and BSD
Antoine Fontaine [Fri, 26 Mar 2021 18:30:35 +0000 (19:30 +0100)]
Disable wayland backend on Linux and BSD

Better rely on XWayland for now. If someone wants to override it, set
GDK_BACKEND=wayland

2 years agoradiant: replace StringBuffer with std::string
Antoine Fontaine [Tue, 23 Mar 2021 12:19:35 +0000 (13:19 +0100)]
radiant: replace StringBuffer with std::string

2 years agoq3map2/help: only read terminal columns using ioctl on Posix systems
Thomas Debesse [Mon, 3 May 2021 22:46:17 +0000 (00:46 +0200)]
q3map2/help: only read terminal columns using ioctl on Posix systems

It does not work on Windows with MSYS2.

It is verified to work on Linux, FreeBSD and macOS.

2 years agoquake3/help: move away from termcap
Antoine Fontaine [Mon, 3 May 2021 19:52:15 +0000 (21:52 +0200)]
quake3/help: move away from termcap

termcap is old and crusty. terminfo seems more recent (lol), but maybe
we can get away without adding any dependency :)

On my system, no -ltermcap exists. (Well, except a compat one provided
by zsh for some reason.)

2 years agoq3map2/help: some improvements
Thomas Debesse [Mon, 3 May 2021 06:11:39 +0000 (08:11 +0200)]
q3map2/help: some improvements

- add some instructions from https://en.m.wikibooks.org/wiki/Q3Map2/Light
- make sure every comment starts capitalized

2 years agoq3map2/games: fix quakelive home path
Thomas Debesse [Mon, 3 May 2021 05:41:22 +0000 (07:41 +0200)]
q3map2/games: fix quakelive home path

2 years agoq3map2/games: bikeshedding
Thomas Debesse [Mon, 3 May 2021 05:34:11 +0000 (07:34 +0200)]
q3map2/games: bikeshedding

2 years agoq3map2/games: bikeshedding
Thomas Debesse [Mon, 3 May 2021 05:31:09 +0000 (07:31 +0200)]
q3map2/games: bikeshedding

2 years agoq3map2/games: add warsow and warfork
Thomas Debesse [Mon, 3 May 2021 05:26:14 +0000 (07:26 +0200)]
q3map2/games: add warsow and warfork

2 years agoq3map2/help: remove typo
Thomas Debesse [Mon, 3 May 2021 04:57:23 +0000 (06:57 +0200)]
q3map2/help: remove typo

2 years agoq3map2/help: add -help all
Thomas Debesse [Mon, 3 May 2021 04:57:10 +0000 (06:57 +0200)]
q3map2/help: add -help all

2 years agoq3map2/help: read columns from terminal
Thomas Debesse [Mon, 3 May 2021 04:45:05 +0000 (06:45 +0200)]
q3map2/help: read columns from terminal

2 years agoq3map2/help: use a variable for the terminal columns
Thomas Debesse [Mon, 3 May 2021 04:38:39 +0000 (06:38 +0200)]
q3map2/help: use a variable for the terminal columns

2 years agoq3map2/help: list supported games
Thomas Debesse [Mon, 3 May 2021 04:23:06 +0000 (06:23 +0200)]
q3map2/help: list supported games

2 years agoq3map2/games: add openarena, q3rally and worldofpadman
Thomas Debesse [Mon, 3 May 2021 04:01:33 +0000 (06:01 +0200)]
q3map2/games: add openarena, q3rally and worldofpadman

2 years agogamepack-manager: make possible to list and install validated games easily
Thomas Debesse [Mon, 3 May 2021 03:06:18 +0000 (05:06 +0200)]
gamepack-manager: make possible to list and install validated games easily

2 years agonetradiant: detect and add missing ExtraQ3map2Args in build menus
Thomas Debesse [Mon, 3 May 2021 02:17:58 +0000 (04:17 +0200)]
netradiant: detect and add missing ExtraQ3map2Args in build menus

- detect q3map2 and enable ExtraQ3map2Args feature for unmaintained gamepacks

2 years agoq3map2: switch back to fastallocate option name to reduce diff with NRC, keep compati...
Thomas Debesse [Mon, 3 May 2021 01:08:34 +0000 (03:08 +0200)]
q3map2: switch back to fastallocate option name to reduce diff with NRC, keep compatibility with fastlightmapsearch

2 years agogamepack-manager: fetch world of padman gamepack from git 182/head
Thomas Debesse [Thu, 15 Apr 2021 12:53:55 +0000 (14:53 +0200)]
gamepack-manager: fetch world of padman gamepack from git

2 years agoimport GCC10 fix by afontain
Antoine Fontaine [Tue, 27 Apr 2021 19:14:13 +0000 (21:14 +0200)]
import GCC10 fix by afontain

See: https://gitlab.com/xonotic/netradiant/-/issues/129#note_544674397

2 years agopicomodel::ase: support standard empty bitmap name 'none' illwieckz/md2 179/head
Garux [Mon, 23 Mar 2020 16:55:03 +0000 (19:55 +0300)]
picomodel::ase: support standard empty bitmap name 'none'

2 years agoprevent string overflow in radiant md2 loader
Garux [Fri, 22 Feb 2019 20:31:56 +0000 (23:31 +0300)]
prevent string overflow in radiant md2 loader

2 years ago* picomodel: fix md2 loader
Garux [Fri, 22 Feb 2019 20:29:04 +0000 (23:29 +0300)]
* picomodel: fix md2 loader
duplicates management algorithm isn't as quick, as in old code, but quick nuff + working

2 years agofix some strncpy use
Garux [Sat, 29 Sep 2018 18:34:03 +0000 (21:34 +0300)]
fix some strncpy use

Note by illwieckz: partial cherry-pick, vfsListShaderFiles is missing upstream

2 years ago* picomodel: do some guessings about shader paths to handle more cases out of the...
Garux [Sat, 29 Sep 2018 11:39:10 +0000 (14:39 +0300)]
* picomodel: do some guessings about shader paths to handle more cases out of the box; ones are based on material and diffuse map names:
name w/o path: assume textures are in the folder, where model file is
absolute path or with ..: try to cut at "/models/" or "/textures/" (as if leading to game folders); do previous case, if not
strip extensions and turn slashes to forward ones anytime
* picomodel::obj: fix diffuse map paths loading from .mtl

2 years agopicomodel: white default color of fm, md2 (was one white and rest black)
Garux [Sat, 9 Jun 2018 22:27:49 +0000 (01:27 +0300)]
picomodel: white default color of fm, md2 (was one white and rest black)
unified picoColor_white

2 years agoq3map2: do not leak user temporary paths
Thomas Debesse [Tue, 27 Apr 2021 01:30:54 +0000 (03:30 +0200)]
q3map2: do not leak user temporary paths

do not write in "_q3map2_cmdline" worldspawn entity key user paths like:

  -lightmapdir
  -bspfile
  -prtfile
  -srffile
  -linfile

2 years agoMerge branch 'gcc10' into 'master'
Thomas Debesse [Sat, 24 Apr 2021 01:10:57 +0000 (01:10 +0000)]
Merge branch 'gcc10' into 'master'

GCC10

See merge request xonotic/netradiant!181

2 years agoradiant: also filter subtelhint with “Filter hints” menu, <3 @Viech
Thomas Debesse [Sat, 24 Apr 2021 01:04:39 +0000 (03:04 +0200)]
radiant: also filter subtelhint with “Filter hints” menu, <3 @Viech

2 years agovfs/dpk: properly find the dpkdir, even for maps not in maps/, typically mapmodel...
Thomas Debesse [Sat, 24 Apr 2021 00:33:31 +0000 (02:33 +0200)]
vfs/dpk: properly find the dpkdir, even for maps not in maps/, typically mapmodel sources

2 years agoq3map2/image: also look for images path without extension but with dot in their name
Thomas Debesse [Wed, 7 Apr 2021 04:44:00 +0000 (06:44 +0200)]
q3map2/image: also look for images path without extension but with dot in their name

make sure that if a shader contains path to textures/directory/some.thing
q3map2 also look for textures/directory/some.thing.tga
instead of only looking for textures/directory/some.tga

3 years agoFix possible security vulnerability and fatal error 181/head
Antoine Fontaine [Wed, 14 Apr 2021 21:44:28 +0000 (23:44 +0200)]
Fix possible security vulnerability and fatal error

3 years agoFix cast warning
Antoine Fontaine [Tue, 30 Mar 2021 18:26:34 +0000 (20:26 +0200)]
Fix cast warning

3 years agofix include
Antoine Fontaine [Wed, 31 Mar 2021 19:19:14 +0000 (21:19 +0200)]
fix include

3 years agomacos: add --debug option to NetRadiant build to run with lldb
Thomas Debesse [Thu, 25 Mar 2021 22:42:04 +0000 (23:42 +0100)]
macos: add --debug option to NetRadiant build to run with lldb

3 years agocmake: PIE linux debug build
Thomas Debesse [Sun, 28 Mar 2021 00:30:16 +0000 (01:30 +0100)]
cmake: PIE linux debug build

3 years agocmake: reuse already defined variables
Thomas Debesse [Sun, 28 Mar 2021 15:53:16 +0000 (17:53 +0200)]
cmake: reuse already defined variables

3 years agoradiant/console: rename Sys_LogFile to Sys_EnableLogFile 177/head
Antoine Fontaine [Mon, 22 Mar 2021 01:30:26 +0000 (02:30 +0100)]
radiant/console: rename Sys_LogFile to Sys_EnableLogFile

3 years agoradiant/console: make logging thread-safe
Antoine Fontaine [Mon, 22 Mar 2021 01:10:47 +0000 (02:10 +0100)]
radiant/console: make logging thread-safe

3 years agolibs/gtkutil/glwidget: rework a bit shared context GL callbacks
Antoine Fontaine [Sun, 21 Mar 2021 22:13:49 +0000 (23:13 +0100)]
libs/gtkutil/glwidget: rework a bit shared context GL callbacks

This turns 2 global variables into local ones

3 years agogtkgl module: drop
Antoine Fontaine [Sun, 21 Mar 2021 20:45:53 +0000 (21:45 +0100)]
gtkgl module: drop

For some reason we have a gtkGL module from the beginning of the time,
but it's not doing anything, and it's not used anywhere. This removes it.

3 years agoradiant/camwindow, radiant/xywindow: Fix use of uninitialized values 176/head
Antoine Fontaine [Tue, 23 Mar 2021 01:54:50 +0000 (02:54 +0100)]
radiant/camwindow, radiant/xywindow: Fix use of uninitialized values

3 years agogtkutil/filechooser: replace Array<char> by std::string
Antoine Fontaine [Tue, 23 Mar 2021 02:38:44 +0000 (03:38 +0100)]
gtkutil/filechooser: replace Array<char> by std::string

3 years agoradiant/preferences: fix memory issue when saving pref
Antoine Fontaine [Tue, 23 Mar 2021 02:35:37 +0000 (03:35 +0100)]
radiant/preferences: fix memory issue when saving pref

Valgrind:

```
==80929== Invalid read of size 2
==80929==    at 0x4842B30: memmove (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==80929==    by 0x43618E: char* std::__copy_move<false, true, std::random_access_iterator_tag>::__copy_m<char>(char const*, char const*, char*) (stl_algobase.h:386)
==80929==    by 0x435ABC: char* std::__copy_move_a<false, char const*, char*>(char const*, char const*, char*) (stl_algobase.h:404)
==80929==    by 0x436131: char* std::__copy_move_a2<false, char const*, char*>(char const*, char const*, char*) (stl_algobase.h:440)
==80929==    by 0x4359BF: char* std::copy<char const*, char*>(char const*, char const*, char*) (stl_algobase.h:474)
==80929==    by 0x59F28C: Array<char, DefaultAllocator<char> >::Array<char const*>(char const*, char const*) (array.h:86)
==80929==    by 0x59A2A0: Preferences_Save_Safe(PreferenceDictionary&, char const*) (preferences.cpp:207)
==80929==    by 0x59C7A2: Preferences_Save() (preferences.cpp:919)
==80929==    by 0x524500: Radiant_Shutdown() (mainframe.cpp:798)
==80929==    by 0x5223FB: main (main.cpp:654)
==80929==  Address 0xba88510 is 0 bytes after a block of size 64 alloc'd
==80929==    at 0x483B723: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==80929==    by 0x483E017: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==80929==    by 0x5272F3F: g_realloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==80929==    by 0x5290003: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==80929==    by 0x5290066: g_string_sized_new (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==80929==    by 0x52905BA: g_string_new (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==80929==    by 0x59B65A: PrefsDlg::Init() (preferences.cpp:551)
==80929==    by 0x5222A1: main (main.cpp:595)
```

3 years agoradiant/preferences: Remove unused variable
Antoine Fontaine [Sun, 21 Mar 2021 12:20:35 +0000 (13:20 +0100)]
radiant/preferences: Remove unused variable

3 years agovarious: add explicit default contructors
Antoine Fontaine [Sun, 21 Mar 2021 02:51:21 +0000 (03:51 +0100)]
various: add explicit default contructors

3 years agovarious: reindent classes
Antoine Fontaine [Sun, 21 Mar 2021 02:51:11 +0000 (03:51 +0100)]
various: reindent classes

3 years agoRevert "gtk3: call ui::process() after gtk_gl_area_queue_render()"
Thomas Debesse [Sun, 21 Mar 2021 20:03:42 +0000 (21:03 +0100)]
Revert "gtk3: call ui::process() after gtk_gl_area_queue_render()"

This reverts commit 95333c891fb8e1ce33241c51ed762a4a9e1f5893.

The default value for gtk_gl_area_set_auto_render is true…
So removing the call setting it to true has no effect.

The ui::process() call was reported to improve performance
when using a multi-window layout and GL texture binds fail
because of no sharing mechanism accross GL contexts. So it's
just dark magic and we may better fix that sharing thing first.

3 years agogtk3: call ui::process() after gtk_gl_area_queue_render()
Thomas Debesse [Sun, 21 Mar 2021 19:05:27 +0000 (20:05 +0100)]
gtk3: call ui::process() after gtk_gl_area_queue_render()

3 years agomacos: process the texture browser redraw as soon as possible when workarounding...
Thomas Debesse [Sun, 21 Mar 2021 18:28:31 +0000 (19:28 +0100)]
macos: process the texture browser redraw as soon as possible when workarounding the not-working hide