Commit Graph

6849 Commits

Author SHA1 Message Date
Matthias Melcher
a09c75e9bc Adds Fl_Input RMB menu translation to test/preferences
This also updates the RMB menu labels before every popup so
that changing the labels after creating the widgets still reflects
that change correctly.
2023-12-28 15:43:21 +01:00
ManoloFLTK
30f2ec8185 Fix for bug in Mutter Wayland compositor (#878) - cont'd
Add more tests to do additional operations under stricter conditions
2023-12-28 11:28:47 +01:00
ManoloFLTK
6143764885 Fix for bug in Mutter Wayland compositor (#878)
Mutter implements too strictly this rule expected from compositors about "frame callbacks" :
"A server should avoid signaling the frame callbacks if the surface is not visible in any way,
e.g. the surface is off-screen, or completely obscured by other opaque surfaces."
When a window is being interactively resized, it makes no sense to create a frame callback
for an entirely covered surface but then never signal the surface can be redrawn,
because this blocks the resize operation.

Neither KWin nor Weston have this problem.
2023-12-28 09:59:51 +01:00
ManoloFLTK
73bd4a53dd Fix position of 1-button Fl_Message windows 2023-12-27 12:15:25 +01:00
ManoloFLTK
bb5cb5b6d4 Wld: export only member functions for ./configure --enable-shared (#872) 2023-12-26 16:00:44 +01:00
Albrecht Schlosser
1d73c0195c Improve docs and add two new Fl_Menu_Item methods (#875)
This addresses some issues pointed out by GitHub Issue #875.

Documentation lacked details about Fl_Multi_Label assignment and
correct memory handling.

The new methods
 - Fl_Menu_Item::image_label(const Fl_Image *) and
 - Fl_Menu_Item::multi_label(const Fl_Multi_Label *)
provide a cleaner interface to assign images and Fl_Multi_Label's
to menu items.

examples/howto-menu-with-images.cxx: carify some issues, fix leak,
  and use new Fl_Menu_Item::multi_label(const Fl_Multi_Label *).
2023-12-23 20:08:18 +01:00
Albrecht Schlosser
016c36c917 Fix memory free() mismatch (#875)
This issue was revealed during testing for GitHub Issue #875.

"ERROR: AddressSanitizer: attempting free on address which was not
malloc()-ed", reported by examples/howto-menu-with-images.cxx if
the window object was released at the end of the program, causing
Fl_Menu_::clear() to be called.

The issue was caused by casting all supported label types to
'const char *' which are stored in Fl_Menu_Item::text and then trying
to free() all text strings in Fl_Menu_::clear() under certain
conditions.

Now images and Fl_Multi_Label's are no longer (tried to be) free'd.
2023-12-23 20:05:48 +01:00
ManoloFLTK
f59702e290 A more cross-platform way to fix issue #876 2023-12-22 09:16:48 +01:00
ManoloFLTK
fcf91e51c0 Fix "Fl_Plugin_Manager::loadAll doesn't work correct" (#876) 2023-12-21 17:12:13 +01:00
ManoloFLTK
e466fe20c8 Fix "Fl_Input popup menu customize doesn't work" (#874) 2023-12-21 15:23:38 +01:00
ManoloFLTK
42ff55026e Fix "commit 96bacd3 may crash on X11" (#873) 2023-12-21 14:22:08 +01:00
Albrecht Schlosser
76a2c95f07 Fix a typo, trailing whitespace, and dependencies 2023-12-21 14:03:04 +01:00
ManoloFLTK
3984639270 Restore "configure --enable-shared" under Linux (#872) 2023-12-20 23:42:45 +01:00
Albrecht Schlosser
5df5daf78e Make the 'Forms' compatibility library 'fltk_forms' optional
This library is no longer needed in FLTK itself. There is only one
demo program (test/forms.cxx) that uses it if it is built. The demo
program displays a message if fltk_forms is not available.

The default is 'enabled' for backwards compatibility but this may
be changed to 'disabled' in a future version.
2023-12-20 17:33:37 +01:00
ManoloFLTK
96bacd3f9d Procedure to instruct FLTK to use given X11 connexion (#149) 2023-12-19 15:48:26 +01:00
Greg Ercolano
1e6ac9c9bb Fix issue #871 for html causing crashes 2023-12-18 11:32:34 -08:00
ManoloFLTK
46b2f50750 Wayland: Menu items are accessible when mouse is over another win (#869) 2023-12-18 07:49:02 +01:00
Matthias Melcher
469d3ef3d5 #842: Enables command line color arguments on macOS 2023-12-16 21:59:43 +01:00
Greg Ercolano
c0d7fe9af9 Small doc clarification 2023-12-16 07:39:17 -08:00
Matthias Melcher
f7eb21d92e Fixes fl_message_position for widgets and subwindows
-  https://groups.google.com/d/msgid/fltkcoredev/902a753e-7430-4302-b384-c30c7d45e3bfn%40googlegroups.com.
2023-12-16 14:45:40 +01:00
Matthias Melcher
046bf23a5d Adds mouse wheel input to Fl_Counter 2023-12-16 14:22:22 +01:00
Matthias Melcher
ca028872e7 #868: Suppress warning about unused private members of Fl_Shortcut_Button 2023-12-16 14:07:08 +01:00
Albrecht Schlosser
411c3df1cb Fix memory leak in Fl_Terminal (#867) 2023-12-16 01:37:21 +01:00
Albrecht Schlosser
e951db4c49 Fix C++ comments in C file 2023-12-15 20:03:35 +01:00
MatthiasWM
fdf578d936 #840: Fixes fixed buffer size in Fl::args_to_utf8() (fl_call_main) 2023-12-15 12:56:06 +01:00
ManoloFLTK
673fa2e09c FLTK implementation of the "GTK Shell" Wayland protocol - cont'd
The loop over all libdecor-gtk decorations is now made using libdecor's
data structures, rather than using FLTK's mapped window list.
2023-12-14 07:55:31 +01:00
MatthiasWM
6ac3e8e230 #840: Fixes fixed buffer size in Fl::args_to_utf8() 2023-12-13 20:00:49 +01:00
Albrecht Schlosser
0c712e50bc Fix X11 '_NET_ACTIVE_WINDOW' message (STR 3396)
Send a valid timestamp rather than 0.

For details see STR 3396.
2023-12-13 19:07:30 +01:00
Matthias Melcher
41dd84016d #862: Removes default shortcut from Fl_Shortcut_Button
- the current UI for fallback/default/original shortcut was
confusing, so I remove it until we find something better. I
kept the values so we can reinstate a better interface without
changing the API.
2023-12-13 16:55:16 +01:00
ManoloFLTK
0936c2a55d FLTK implementation of the "GTK Shell" Wayland protocol - cont'd
The pointer_enter() function now checks that its non-FLTK wl_surface  argument
is the wl_surface of the titlebar of a GTK-decorated window.
2023-12-13 14:48:08 +01:00
Greg Ercolano
eedc5bdc0e Allow walk while selection is being made 2023-12-13 02:52:03 -08:00
ManoloFLTK
9738e52511 macOS platform + GLUT: fix crash with glut_test - cont'd 2023-12-13 10:41:15 +01:00
ManoloFLTK
36d34983bb Wayland+GLUT: fix crash in glut_test application - cont'd 2023-12-13 10:17:22 +01:00
Greg Ercolano
817966f215 Address hang in issue #866 2023-12-12 13:47:55 -08:00
Matthias Melcher
c10183379f #188: Fixes Fl_Shared_Image ref count and find op
- ported froward from 1.3.9
- fixes ref count for original and other images
- fixes binary search issues
2023-12-12 22:44:49 +01:00
Matthias Melcher
32b10cb626 #863: Fixes Fl_tile resize behavior when scaling window 2023-12-12 22:07:39 +01:00
ManoloFLTK
04cf2c4c7d Wayland+GLUT: fix crash in glut_test application 2023-12-12 21:17:42 +01:00
ManoloFLTK
a20bace4e1 macOS platform + GLUT: fix crash with glut_test app 2023-12-12 19:46:38 +01:00
Kyriet
5e3681c22a Documentation: Improve doc comment for ~Fl_Group 2023-12-10 22:04:08 +01:00
ManoloFLTK
861bc339c0 Replace wl_output_destroy() by wl_output_release() when possible 2023-12-10 12:48:06 +01:00
Albrecht Schlosser
094ee9e953 Documentation: remove obsolete deprecation warning
This warning was only useful when we used Fl_String in our public
interface which is no longer true.
2023-12-09 19:45:42 +01:00
Matthias Melcher
81a9cb74c3 #862: Fixes Fl_Shortut to swallow all FL_SHORCUT events if hot. 2023-12-08 15:09:42 +01:00
ManoloFLTK
d963dde3ef Document Fl_Image_Surface::mask() with commented code example 2023-12-07 15:01:23 +01:00
Greg Ercolano
2571f20111 Solve issue 856: manolo's parameter names 2023-12-06 12:14:45 -08:00
ManoloFLTK
18ccbb4a4f Wayland: much lighter but partial implementation of the "GTK Shell" protocol
Only the middle-button click gesture is implemented which avoids interference
with what libdecor does with right-click and double-click.
2023-12-05 22:53:26 +01:00
Matthias Melcher
7a69c22bd7 #856: FLUID: improved Declaration dialog
Also makes enum comment in Fl_File_Chooser.fl manageable.
Not backward compatible: don't try to recreate the
File Chooser with older FLUID versions.
2023-12-05 17:54:13 +01:00
ManoloFLTK
538ad1828f Wayland+CMake: use set_source_files_properties() for libdecor - cont'd 2023-12-05 16:09:36 +01:00
ManoloFLTK
7bbfa06e38 Wayland+CMake: use set_source_files_properties() for libdecor 2023-12-05 08:52:21 +01:00
Greg Ercolano
c3849b0a97 Fix issue 854 - append_ansi() len fix 2023-12-04 09:30:54 -08:00
Albrecht Schlosser
a73a14347d Fix compiler warnings
fluid/code.cxx: unused variable

src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx:
  function may return address of local variable [-Wreturn-local-addr]
2023-12-04 16:50:23 +01:00