New upstream version 3.24.28

This commit is contained in:
Simon McVittie
2021-04-15 09:52:10 +01:00
571 changed files with 181992 additions and 178915 deletions

View File

@ -8,7 +8,7 @@
<link rel="up" href="reference.html" title="API Reference">
<link rel="prev" href="gdk3-Properties-and-Atoms.html" title="Properties and Atoms">
<link rel="next" href="gdk3-Pango-Interaction.html" title="Pango Interaction">
<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)">
<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@ -144,7 +144,7 @@ locked), but individual data structure instances are not automatically
locked for performance reasons. So e.g. you must coordinate
accesses to the same <span class="type">GHashTable</span> from multiple threads.</p>
<p>GTK+, however, is not thread safe. You should only use GTK+ and GDK
from the thread <a href="https://developer.gnome.org/gtk4/gtk4-General.html#gtk-init"><code class="function">gtk_init()</code></a> and <code class="function">gtk_main()</code> were called on.
from the thread <code class="function">gtk_init()</code> and <code class="function">gtk_main()</code> were called on.
This is usually referred to as the “main thread”.</p>
<p>Signals on GTK+ and GDK types, as well as non-signal callbacks, are
emitted in the main thread.</p>
@ -174,7 +174,7 @@ by using <a class="link" href="gdk3-Threads.html#gdk-threads-add-idle" title="gd
18
19</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="k">static</span> <span class="kt">void</span>
<span class="nf">worker_thread</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
<span class="n">worker_thread</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">ExpensiveData</span> <span class="o">*</span><span class="n">expensive_data</span> <span class="o">=</span> <span class="n">do_expensive_computation</span> <span class="p">();</span>
@ -182,7 +182,7 @@ by using <a class="link" href="gdk3-Threads.html#gdk-threads-add-idle" title="gd
<span class="p">}</span>
<span class="k">static</span> <span class="n">gboolean</span>
<span class="nf">got_value</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
<span class="n">got_value</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">ExpensiveData</span> <span class="o">*</span><span class="n">expensive_data</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
@ -252,7 +252,7 @@ gdk_threads_init (<em class="parameter"><code><span class="type">void</span></co
<p>Initializes GDK so that it can be used from multiple threads
in conjunction with <a class="link" href="gdk3-Threads.html#gdk-threads-enter" title="gdk_threads_enter ()"><code class="function">gdk_threads_enter()</code></a> and <a class="link" href="gdk3-Threads.html#gdk-threads-leave" title="gdk_threads_leave ()"><code class="function">gdk_threads_leave()</code></a>.</p>
<p>This call must be made before any use of the main loop from
GTK+; to be safe, call it before <a href="https://developer.gnome.org/gtk4/gtk4-General.html#gtk-init"><code class="function">gtk_init()</code></a>.</p>
GTK+; to be safe, call it before <code class="function">gtk_init()</code>.</p>
</div>
<hr>
<div class="refsect2">
@ -427,7 +427,7 @@ in thread B:</p>
28
29</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="k">static</span> <span class="n">gboolean</span>
<span class="nf">idle_callback</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
<span class="n">idle_callback</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
<span class="p">{</span>
<span class="c1">// gdk_threads_enter(); would be needed for g_idle_add()</span>
@ -441,14 +441,14 @@ in thread B:</p>
<span class="p">}</span>
<span class="k">static</span> <span class="kt">void</span>
<span class="nf">some_widget_do_stuff_later</span> <span class="p">(</span><span class="n">SomeWidget</span> <span class="o">*</span><span class="n">self</span><span class="p">)</span>
<span class="n">some_widget_do_stuff_later</span> <span class="p">(</span><span class="n">SomeWidget</span> <span class="o">*</span><span class="n">self</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">self</span><span class="o">-&gt;</span><span class="n">idle_id</span> <span class="o">=</span> <span class="n">gdk_threads_add_idle</span> <span class="p">(</span><span class="n">idle_callback</span><span class="p">,</span> <span class="n">self</span><span class="p">)</span>
<span class="c1">// using g_idle_add() here would require thread protection in the callback</span>
<span class="p">}</span>
<span class="k">static</span> <span class="kt">void</span>
<span class="nf">some_widget_finalize</span> <span class="p">(</span><span class="n">GObject</span> <span class="o">*</span><span class="n">object</span><span class="p">)</span>
<span class="n">some_widget_finalize</span> <span class="p">(</span><span class="n">GObject</span> <span class="o">*</span><span class="n">object</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">SomeWidget</span> <span class="o">*</span><span class="n">self</span> <span class="o">=</span> <span class="n">SOME_WIDGET</span> <span class="p">(</span><span class="n">object</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">self</span><span class="o">-&gt;</span><span class="n">idle_id</span><span class="p">)</span>
@ -601,7 +601,7 @@ for GTK+ widgets for the following use case:</p>
23
24
25</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="k">static</span> <span class="n">gboolean</span> <span class="nf">timeout_callback</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
<td class="listing_code"><pre class="programlisting"><span class="k">static</span> <span class="n">gboolean</span> <span class="n">timeout_callback</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">SomeWidget</span> <span class="o">*</span><span class="n">self</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
@ -612,12 +612,12 @@ for GTK+ widgets for the following use case:</p>
<span class="k">return</span> <span class="n">G_SOURCE_REMOVE</span><span class="p">;</span>
<span class="p">}</span>
<span class="k">static</span> <span class="kt">void</span> <span class="nf">some_widget_do_stuff_later</span> <span class="p">(</span><span class="n">SomeWidget</span> <span class="o">*</span><span class="n">self</span><span class="p">)</span>
<span class="k">static</span> <span class="kt">void</span> <span class="n">some_widget_do_stuff_later</span> <span class="p">(</span><span class="n">SomeWidget</span> <span class="o">*</span><span class="n">self</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">self</span><span class="o">-&gt;</span><span class="n">timeout_id</span> <span class="o">=</span> <span class="n">g_timeout_add</span> <span class="p">(</span><span class="n">timeout_callback</span><span class="p">,</span> <span class="n">self</span><span class="p">)</span>
<span class="p">}</span>
<span class="k">static</span> <span class="kt">void</span> <span class="nf">some_widget_finalize</span> <span class="p">(</span><span class="n">GObject</span> <span class="o">*</span><span class="n">object</span><span class="p">)</span>
<span class="k">static</span> <span class="kt">void</span> <span class="n">some_widget_finalize</span> <span class="p">(</span><span class="n">GObject</span> <span class="o">*</span><span class="n">object</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">SomeWidget</span> <span class="o">*</span><span class="n">self</span> <span class="o">=</span> <span class="n">SOME_WIDGET</span> <span class="p">(</span><span class="n">object</span><span class="p">);</span>
@ -785,6 +785,6 @@ range between <span class="type">G_PRIORITY_DEFAULT_IDLE</span> and <span class=
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.0</div>
<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html>