Skip to content
  • Dominik Mierzejewski's avatar
    fix MinGW compilation · 7c4ee7fc
    Dominik Mierzejewski authored
    Use correct type for window_handler and cast to correct type in MinGW
    environment. Based on
    https://gstreamer.freedesktop.org/documentation/video/gstvideooverlay.html?gi-language=c#gstvideooverlay-and-gtk
    
    Fixes issue #18.
    
    Compilation errors fixed:
    ```
    [...]
    ../../examples/media_player_gtkmm/player_window.cc:464:2: error: unterminated argument list invoking macro "GDK_WINDOW_HWND"
      464 | }
          |  ^
    ../../examples/media_player_gtkmm/player_window.cc: In member function 'void PlayerWindow::on_video_area_realize()':
    ../../examples/media_player_gtkmm/player_window.cc:141:20: error: 'GDK_WINDOW_HWND' was not declared in this scope
      141 |   window_handler = GDK_WINDOW_HWND ((m_video_area.get_window()->gobj());
          |                    ^~~~~~~~~~~~~~~
    ../../examples/media_player_gtkmm/player_window.cc:141:35: error: expected '}' at end of input
      141 |   window_handler = GDK_WINDOW_HWND ((m_video_area.get_window()->gobj());
          |                                   ^
    ../../examples/media_player_gtkmm/player_window.cc:133:1: note: to match this '{'
      133 | {
          | ^
    [...]
    ```
    and
    ```
    [...]
    In file included from /usr/i686-w64-mingw32/sys-root/mingw/include/gtk-3.0/gdk/gdkwin32.h:37,
                     from ../../examples/media_player_gtkmm/player_window.cc:26:
    ../../examples/media_player_gtkmm/player_window.cc: In member function 'void PlayerWindow::on_video_area_realize()':
    /usr/i686-w64-mingw32/sys-root/mingw/include/gtk-3.0/gdk/win32/gdkwin32misc.h:50:57: error: invalid conversion from 'HGDIOBJ' {aka 'void*'} to 'gulong' {aka 'long unsigned int'} [-fpermissive]
       50 | #define GDK_WINDOW_HWND(d) (gdk_win32_window_get_handle (d))
          |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
          |                                                         |
          |                                                         HGDIOBJ {aka void*}
    ../../examples/media_player_gtkmm/player_window.cc:141:20: note: in expansion of macro 'GDK_WINDOW_HWND'
      141 |   window_handler = GDK_WINDOW_HWND (m_video_area.get_window()->gobj());
          |                    ^~~~~~~~~~~~~~~
    [...]
    ```
    7c4ee7fc